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サービスの再起動が必要です。
また、基本的な構造を理解していれば、詳細は必要に応じて調べる形で問題ありません。
エラーが発生したときに「どこを見ればいいか」が分かることが最も重要です。