【解決方法】Macのvagrantでnfsでマウントした際にゲストOSのDockerでMySQL初期化エラー

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
Macのvagrantでnfsでマウントした際にゲストOSで起動しているDockerで
MySQLのイメージを利用する際に初期化エラーが発生したため
解決のための手順をメモしました。
環境
- Vagrant 2.0.3
- CentOS 7.4
- Docker 18.03
- MySQL 5.7
発生したエラー
初期化時のエラー
specified but the data directory exists and is not writable.
という
書き込みができませんというエラーが発生しました。
logInitializing database
mysqld: Can't create/write to file '/var/lib/mysql/is_writable' (Errcode: 13 - Permission denied)
2018-05-21T14:40:41.055344Z 0 [ERROR] --initialize specified but the data directory exists and is not writable. Aborting.
2018-05-21T14:40:41.055433Z 0 [ERROR] Aborting
原因
共有ディレクトリのアクセス権限がないため
ゲストOS側でホストOSとの共有ディレクトリに対してのアクセス権限がないことで ファイルの書き込みができなかったためです。
具体的な場所は/var/lib/mysql
docker-composeのvolumes
で設定している/var/lib/mysql
のディレクトリ
docker-compose.ymlversion: '3'
services:
db:
image: mysql
command: mysqld
user: mysql
ports:
- 3307:3306
volumes:
- ./db/data:/var/lib/mysql
解決方法
Vagrantfileの修正
Vagrantfileに以下のように設定します。
Vagrantfile ## NFS Share
config.vm.synced_folder ".", "/vagrant-nfs", type: "nfs"
config.nfs.map_uid = 501
config.nfs.map_gid = 20
vagrantを再起動
Vagrantをリロードします。
terminal$ vagrant reload
権限の確認
設定が正しく変更されているか/etc/exports
を確認します。
terminal$ sudo vi /etc/exports
uidとgidを確認
uidとgidが正しく設定されているか確認します。
/etc/exports "/Users/xxxx/vagrant" 192.168.33.XX -alldirs -mapall=501:20
- article
Apple Silicon(M1/M2/M3/M4)でDockerを快適に動かすためにやるべきこと
- article
Macでssh-keygenコマンドを使いed25519の秘密鍵・公開鍵を作成する手順
- article
【解決方法】MacのOSをmojaveアップグレードしたらvagrantがエラーになり動かなくなった時の対処
- article
【設定方法】VagrantのでNFSマウントを利用する際に求められる管理者パスワード入力を省略する設定
- article
【解決方法】Macのvagrantでnfsでマウントした際にゲストOSのDockerでMySQL初期化エラー
- article
Macでよくある「開発元が未確認のため開けません。」と警告ダイアログが表示されるアプリを開く手順
- article
【早見表】よく使うVagrantコマンドとオプションの一覧まとめ
- article
vagrantで起動したVM内で立ち上げているDockerのVolume(MySQLデータ永続化)で書き込みエラーになる件の対処
- article
【解決方法】Vagrantで構築したUbuntu20.04へsynced_folder を設定した際に発生するマウントエラーの対処
- article
【設定方法】VagrantとVirtualBoxでUbuntu20.04の仮想環境をサクッと構築する手順
- article
【設定方法】VagrantとVirtualBoxでCentOS8の仮想環境をサクッと構築する手順
- article
【解決方法】Vagrantを起動した際に発生するumount: /mnt: not mounted.の対処について
- review
もう朝起きるのが辛くない!『スタンフォード式 最高の睡眠』西野精治著で学んだ、たった 90 分で人生が変わる睡眠革命
- review
もう「なんとなく」で決めない!『解像度を上げる』馬田隆明著で身につけた、曖昧思考を一瞬で明晰にする技術
- review
もう疲れ知らず!『最高の体調』鈴木祐著で手に入れた、一生モノの健康習慣術
- review
人生が激変!『苦しかったときの話をしようか』森岡毅著で発見した、本当に幸せなキャリアの築き方
- review
もう「何言ってるの?」とは言わせない!『バナナの魅力を 100 文字で伝えてください』柿内尚文著 で今日からあなたも伝え方の達人!
- review
もう時間に追われない!『エッセンシャル思考』グレッグ・マキューンで本当に重要なことを見抜く!