LoginSignup
8
3

More than 3 years have passed since last update.

DockerでMySQLを5.7から8.0にアップデートする

Last updated at Posted at 2020-09-07

これはなに

DockerのMySQLを5.7から8.0にアップデートする方法です。
docker composeを使ってる前提です。

手順

docker/mysql/Dockerfile
- FROM mysql:5.7
+ FROM mysql:8.0

docker/mysql/Dockerfileのバージョンを書き換えます。

docker-compose build mysql

docker-compose buildするとバージョンアップされます。
ダメそうなら
docker-compose build --no-cache mysql
で試してみてください。

再度mysqlコンテナを起動すると、自動でデータのアップグレードが行われ、MySQL8.0として使えるようになります。
一度データがアップグレードされてしまうと、過去のバージョンのMySQLでは動作しなくなってしまう可能性があるので注意してください。

Laravelで発生する問題の解消

mysql8からデフォルトのauth pluginが変更になっていて
それにlaravelが対応していなく以下のエラーが発生します。

SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client (SQL: select * from `users` where 

そこで、以下の設定をmy.confに設定します。

my.conf
default-authentication-plugin = mysql_native_password

以上、 参考になりましたら幸いです。

8
3
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
8
3