📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

 
(同じ利用者による、間の5版が非表示)
179行目: 179行目:
次に、MySQLのデータディレクトリを初期化する。(MySQL 5.7.6以降、mysql_install_dbは廃止されていることに注意する)<br>
次に、MySQLのデータディレクトリを初期化する。(MySQL 5.7.6以降、mysql_install_dbは廃止されていることに注意する)<br>
<br>
<br>
===== Systemdサービスユニットファイルの作成 =====
MySQLをソースコードからインストールした時、<br>
SystemdサービスからMySQLを起動および停止する場合は、Systemdサービスユニットファイルを作成する。<br>
<br>
作成するファイルを以下に示す。<br>
* mysqld.serviceファイル
* mysqld@.serviceファイル
<br>
* システム全体で使用する場合
*: /etc/systemd/systemディレクトリ
* 各ユーザで使用する場合 (ただし、各ユーザごとに使用する場合は、特権ポート0〜1023番ポートは使用できない)
*: ~/.config/systemd/userディレクトリ
<br>
# mysqld.serviceファイル
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network-online.target
Wants=network-online.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
Type=notify
# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0
# Execute pre and post scripts as root
# hence, + prefix is used
# Needed to create system tables
ExecStartPre=+/<MySQLのインストールディレクトリ>/bin/mysqld_pre_systemd
# Start main service
ExecStart=/<MySQLのインストールディレクトリ>/bin/mysqld $MYSQLD_OPTS
# Use this to switch malloc implementation
EnvironmentFile=-/etc/sysconfig/mysql
# Sets open_files_limit
LimitNOFILE = 10000
Restart=on-failure
RestartPreventExitStatus=1
# Set enviroment variable MYSQLD_PARENT_PID. This is required for restart.
Environment=MYSQLD_PARENT_PID=1
PrivateTmp=false
PIDFile=/<MySQLのインストールディレクトリ>/tmp/mysqld.pid
<br>
# mysqld@.serviceファイル
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network-online.target
Wants=network-online.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
Type=notify
# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0
# Execute pre and post scripts as root
# hence, + prefix is used
# Needed to create system tables
ExecStartPre=+/<MySQLのインストールディレクトリ>/bin/mysqld_pre_systemd %I
# Start main service
ExecStart=/<MySQLのインストールディレクトリ>/bin/mysqld --defaults-group-suffix=@%I $MYSQLD_OPTS
# Use this to switch malloc implementation
EnvironmentFile=-/etc/sysconfig/mysql
# Sets open_files_limit
LimitNOFILE = 10000
Restart=on-failure
RestartPreventExitStatus=1
# Set enviroment variable MYSQLD_PARENT_PID. This is required for restart.
Environment=MYSQLD_PARENT_PID=1
PrivateTmp=false
<br>
===== MySQLの設定ファイルの作成 =====
===== MySQLの設定ファイルの作成 =====
MySQLのインストールディレクトリに、MySQLの設定ファイルであるmy.cnfファイルを作成する。<br>
MySQLのインストールディレクトリに、MySQLの設定ファイルであるmy.cnfファイルを作成する。<br>
206行目: 308行目:
  sed -i -e "s/# default_authentication_plugin = mysql_native_password/default_authentication_plugin = mysql_native_password/g" my.cnf
  sed -i -e "s/# default_authentication_plugin = mysql_native_password/default_authentication_plugin = mysql_native_password/g" my.cnf
<br>
<br>
===== MySQLの初期化 =====
===== MySQLの初期化 =====
MySQLの初期化を行う。<br>
MySQLの初期化を行う。<br>
249行目: 352行目:
MySQL Routerは、MySQL InnoDB ClusterやInnoDB ReplicaSetで使用可能であり、ロードバランスや障害発生時のフェイルオーバーに対応したルーティングを透過的に実現するミドルウェア製品である。<br>
MySQL Routerは、MySQL InnoDB ClusterやInnoDB ReplicaSetで使用可能であり、ロードバランスや障害発生時のフェイルオーバーに対応したルーティングを透過的に実現するミドルウェア製品である。<br>
詳細は、[[MySQL - MySQL Router]]を参照すること。<br>
詳細は、[[MySQL - MySQL Router]]を参照すること。<br>
<br><br>
== my.cnfファイル ==
my.cnfファイルの各セクションの意味と役割を以下に示す。<br>
<br>
* [mysqld]セクション
*: MySQLサーバデーモン (バックグラウンドで動作するサーバプロセス) の設定を定義する。
*: サーバの動作に関する全ての主要な設定 (メモリ、キャッシュ、ログ、文字コード等) が含まれる。
*: このセクションの設定はサーバ全体に影響を与える。
*: 例: innodb_buffer_pool_sizeキー、character-set-serverキー、portキー等
<br>
* [mysql]セクション
*: MySQLコマンドラインクライアント (mysqlコマンド) 特有の設定を定義する。
*: コマンドラインでMySQLに接続する際に使用される設定である。
*: 主に、クライアントツールの動作に関する設定が含まれる。
*: 例: default-character-setキー、promptキー、auto-vertical-outputキー等
<br>
* [client]セクション
*: 全てのMySQLクライアントプログラム共通の設定を定義する。
*: mysqlコマンドのみではなく、mysqldumpコマンド、mysqlimportコマンド、mysqladminコマンド等のクライアントツール全てに適用される。
*: 主に、接続関連の設定が含まれる。
*: portキー、socketキー、default-character-setキー等
<br>
* mysqldコマンドは、[mysqld]セクションの設定を使用する。
* mysqlコマンドは、[mysql]セクションおよび[client]セクションの両方の設定を使用する。
* mysqldumpコマンド等のその他のクライアントツールは、 [client]セクションの設定を使用する。
<br>
# 共通の接続設定は[client]セクションにまとめる。
# [mysql]セクションには、CLI固有の設定のみを記述する。
# [mysqld]セクションにはサーバ固有の設定を記述する。
<br><br>
<br><br>


274行目: 408行目:
   
   
  # utf8mb4を使う場合
  # utf8mb4を使う場合
  # collation-server = utf8mb4_bin
  collation-server = utf8mb4_bin
   
   
  # SQLモード
  # SQLモード
284行目: 418行目:
  # max_allowed_packet = 16MB
  # max_allowed_packet = 16MB
   
   
  # MySQL 5.6.6 以降はデフォルトでON�: InnoDBをテーブルごとにファイルを分ける
  # MySQL 5.6.6 以降はデフォルトでON: InnoDBをテーブルごとにファイルを分ける
  innodb_file_per_table = 1
  innodb_file_per_table = 1
   
   
319行目: 453行目:
  user      = USER_NAME
  user      = USER_NAME
  socket    = MYSQL_DATA_BASE_DIR/tmp/mysql.sock
  socket    = MYSQL_DATA_BASE_DIR/tmp/mysql.sock
#default-character-set = CHARACTER_SET
[mysql.server]
port      = PORT_NO
user      = USER_NAME
basedir  = MYSQL_DATA_BASE_DIR
datadir  = MYSQL_DATA_BASE_DIR/data
tmpdir    = MYSQL_DATA_BASE_DIR/tmp
socket    = MYSQL_DATA_BASE_DIR/tmp/mysql.sock
pid-file  = MYSQL_DATA_BASE_DIR/logs/mysqld.pid
log-error = MYSQL_DATA_BASE_DIR/logs/mysql_error.log
  default-character-set = CHARACTER_SET
  default-character-set = CHARACTER_SET
   
   
  [mysqld_safe]
  # 例: プロンプトの設定やその他のCLI固有の設定
  port      = PORT_NO
  prompt = '\u@\h [\d]> '
user      = USER_NAME
  auto-vertical-output = 1
basedir  = MYSQL_DATA_BASE_DIR
datadir  = MYSQL_DATA_BASE_DIR/data
tmpdir    = MYSQL_DATA_BASE_DIR/tmp
socket    = MYSQL_DATA_BASE_DIR/tmp/mysql.sock
pid-file  = MYSQL_DATA_BASE_DIR/logs/mysqld.pid
log-error = MYSQL_DATA_BASE_DIR/logs/mysql_error.log
  default-character-set = CHARACTER_SET
   
   
  [client]
  [client]
347行目: 463行目:
  user      = USER_NAME
  user      = USER_NAME
  socket    = MYSQL_DATA_BASE_DIR/tmp/mysql.sock
  socket    = MYSQL_DATA_BASE_DIR/tmp/mysql.sock
default-character-set = utf8mb4
<br><br>
<br><br>


602行目: 719行目:
== DBeaver ==
== DBeaver ==
DBeaverは、Oracle、SQLServer、MySQL、MariaDB、SQLite等の計42種類のドライバに対応したSQLクライアントツールである。<br>
DBeaverは、Oracle、SQLServer、MySQL、MariaDB、SQLite等の計42種類のドライバに対応したSQLクライアントツールである。<br>
<br>
DBeaverの詳細を知りたい場合は、[[インストール - DBeaver|インストール - DBeaverのページ]]を確認すること。<br>
DBeaverはJavaで開発されているため、動作にはJRE(Java Runtime Environment)が必要であるが、<br>
ダウンロードしたDBeaverにはJREが付属している。<br>
<br>
もし、最新のJREを使用する場合、以下に示すOracleのJREダウンロードページからJavaSEをダウンロードする。<br>
* https://www.java.com/ja/download/
* https://www.oracle.com/java/technologies/javase-downloads.html
<br>
ダウンロードしたJavaSEを任意のディレクトリに配置して、インストール(Windows)または環境変数PATH(Linux)を設定する。<br>
<br>
[https://dbeaver.io/download/ DBeaverの公式Webサイト]にアクセスして、Linux 64 bit (zip)をダウンロードする。<br>
ダウンロードしたDBeaverを解凍する。(ここでは、~/InstallSoftware/DBeaverに解凍している)<br>
<br>
以下のようなデスクトップエントリファイルを作成する。<br>
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Name=DBeaver Community <バージョン名>
GenericName=DBeaver Community
Comment=Universal Database Manager and SQL Client.
Path=/home/<ユーザ名>/InstallSoftware/DBeaver/
Exec=/home/<ユーザ名>/InstallSoftware/DBeaver/dbeaver
Icon=/home/<ユーザ名>/InstallSoftware/DBeaver/dbeaver.png
Categories=IDE;Development
WM_CLASS=DBeaver
StartupWMClass=DBeaver
StartupNotify=true
Keywords=Database;SQL;IDE;JDBC;ODBC;MySQL;PostgreSQL;Oracle;DB2;MariaDB
MimeType=application/sql
<br>
<br>
<u>※注意</u><br>
<u>※注意</u><br>