Docker で MySQL の設定を変更する方法
MySQL設定の変更は、次の手順で行えます:
- MySQL コンテナのシェルの取得: docker exec -it コンテナ ID /bin/bash
- docker exec -it <コンテナの名前またはID> bash
- MySQLのmy.cnf設定ファイルを見つける。MySQLのバージョンとオペレーティングシステムによって、設定ファイルの場所は異なる可能性がある。一般に、my.cnfは以下のいずれかの場所に存在する。
- /etc/mysql/my.cnf
- /etc/my.cnf
- /etc/mysql/conf.d/
- viやnanoなどのテキストエディターでmy.cnfファイルを開きます。例えば、viエディターでmy.cnfファイルを開くには、次のようにします。
- vi /etc/mysql/my.cnf
- my.cnf ファイルでは、MySQL のさまざまな構成オプションを変更できます。たとえば、以下のオプションを変更できます。
- データベースの初期文字コード: character-set-server オプションの設定によって初期文字コードを変更できます。たとえば、初期文字コードを UTF-8 に変更する場合:
character-set-server = utf8 - 最大接続数:max_connectionsオプションの設定にて最大接続数を変更可能です。例えば、最大接続数を1000にする場合:
max_connections = 1000 - データベース格納場所:datadirオプションを設定してデータベース格納場所を変更できます。たとえば、格納場所を/var/lib/mysql/dataに変更する場合:
datadir = /var/lib/mysql/data - その他の設定オプション:オプションで、他のMySQL設定オプションを変更します。
- my.cnfファイルを保存して閉じます。
- 構成の変更を反映するには、MySQL コンテナを再起動します。次のコマンドを使ってコンテナを再起動できます。
- docker restart <コンテナ名またはID>
次のステップが完了すると、MySQL コンテナは変更された構成を使用して実行されます。コンテナを実行するときにカスタム構成ファイルを指定した場合は、MySQL のデフォルト構成ファイル(my.cnf)ではなく、対応するカスタムファイルを編集する必要があることに注意してください。