MySQL設定ファイルの基本

Web開発プロジェクトでMySQLを扱う際、設定ファイルの構造を理解しておくとトラブルシューティングがスムーズになります。

目次

メインの設定ファイル

MySQLの設定はmy.cnf(Linux/Mac)またはmy.ini(Windows)で管理されます。これがメインの設定ファイルです。

追加で/etc/my.cnf.d/ディレクトリに個別の設定ファイルを配置することもできます。これにより設定を分割して管理しやすくなります。

インストール後の構成

MySQLをインストールすると、既存のディレクトリ内にMySQLのファイルが追加される形です。

Linux系

/
┣ etc/
┃ ┣ my.cnf (メイン設定ファイル)
┃ ┗ my.cnf.d/ (追加設定ファイル用ディレクトリ)
┃   ┗ custom.cnf
┣ var/
┃ ┣ lib/
┃ ┃ ┗ mysql/ (データディレクトリ)
┃ ┃   ┣ ibdata1 (InnoDBシステムテーブルスペース)
┃ ┃   ┣ mysql/ (システムデータベース)
┃ ┃   ┣ your_database/ (作成したデータベース)
┃ ┃   ┗ ib_logfile0, ib_logfile1 (トランザクションログ)
┃ ┗ log/
┃   ┗ mysqld.log (エラーログ)
┗ usr/
  ┗ bin/
    ┣ mysql (クライアント)
    ┗ mysqld (サーバー本体)

Windows系

C:\Program Files\MySQL\MySQL Server 8.0\
┣ bin\ (実行ファイル)
┣ data\ (データディレクトリ)
┗ my.ini (設定ファイル)

設定ファイルの読み込み順序

複数の設定ファイルがある場合、後から読み込まれた設定が優先されます。どの順序で読み込まれるかは以下のコマンドで確認できます。

mysql --help --verbose | grep my.cnf

設定ファイルのセクション

設定ファイルは用途別にセクションで分かれています。主なセクションは以下の通りです。

  • [mysqld] – MySQLサーバーの設定
  • [client] – クライアント全般の設定
  • [mysql] – mysqlコマンドラインツールの設定

エラーログの確認

トラブル時にはエラーログを確認しましょう。デフォルトでは/var/log/mysqld.logなどに保存されています。

覚えておきたいポイント

設定ファイルを変更した後は、必ずMySQLサービスの再起動が必要です。

また、基本的な構造を理解していれば、詳細は必要に応じて調べる形で問題ありません。

エラーが発生したときに「どこを見ればいいか」が分かることが最も重要です。

目次