環境作ったらmigrateができなかった
PHP+MySQLで環境作成したら、動かない。
マイグレーションしようとすると、PDOのエラーが出る。
デフォルトのパスワード認証のやり方が変わって、
caching_sha2_passwordって設定だから、接続できないよーって。
なので、mysql_native_passwordという設定に戻したい。
Dockerで対応
これをどこかに設定しておきたい。ただ、プロセス切って再起動すると、
データが消えるのでどうにかしたい。
docker-composeで、該当のファイルをマウントして書き換える。
docker-compose.yml
mysql: container_name: study-laravel_mysql image: mysql:8.0.12 volumes: - ./mysql-conf.d:/etc/mysql/conf.d
mysql-conf.d/default_authentication.cnf
[mysqld] default_authentication_plugin= mysql_native_password
これで、コンテナ初回起動時に設定が変わる。
起動時に変わるので、コンテナ落としてあげてね。