LoginSignup
36
13

[Docker+Windows]mysqlのdockerイメージがmy.cnfのマウントのエラーで起動しない時の対処法

Last updated at Posted at 2020-07-01

問題

mysqld: [Warning] World-writable config file '/etc/mysql/my.cnf' is ignored.

というエラーがvolumeのmy.cnfファイルのマウントで起こっていて人用の備忘録です。
mysql8はmy.cnfの権限設定が適切でない(誰でも書き込みができてしまう)と起動しなません。
なので、my.cnfをイメージ内で適切に設定する必要があるが、
windows環境下ではlinuxのような権限設定はできないので、
一工夫する必要があります。

対策 マウントするmy.cnfファイルにwindowsでread-only(読み取り専用)をつける

文字どおりです。

フォルダから対象ファイルを右クリック→プロパティ→属性を読み取り専用

にしてやりましょう。
読み取り専用を設定した状態でvolumeにマウントするとマウント先で書き込み権限が消えます。
なので、この状態でコンテナを起動すればmy.cnfの権限設定が適切になり、エラーが解消されます。

久しぶりの投稿の割にひたすら短いですが、
かなり簡単な解決で感動したので残します。

参考:https://stackoverflow.com/questions/37001272/fixing-world-writable-mysql-error-in-docker

追記

記事作成から数年たっていますが、現在でも割と参照されているようなので、
Microsoftのドキュメントでwslでのwindowsとlinuxのアクセス権限について記載されている箇所も追記しておきます。

36
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
36
13