[Laradock][MySQL8] ユーザー権限がなく、データベースを操作できない時

ITLaravel, MySQL

Laradock で MySQL 8.0 を試しているのですが、下記エラーが出て、MySQL自体は立ち上がっているものの、権限がなくデータベースを操作できませんでした。

The user specified as a definer ('mysql.infoschema'@'localhost') does not exist

[検証環境]
Laradock v7.8.0
Laravel 5.7.15

結果として、下記処理を行ったら、操作できるようになりました。

参考:
Mysql Error:The user specified as a definer (‘mysql.infoschema’@’localhost’) does not exist’ when trying to dump tablespaces

まずMySQLコンテナに入って、、

docker exec -it mysql bash

MySQLにログイン
ユーザー:root
パスワード:root

mysql -u root -p

innoDB 高速シャットダウンモードに変更

mysql> SET GLOBAL innodb_fast_shutdown = 1;

MySQL をログアウトし、更新

mysql_upgrade -u root -p

以上になります。

※途中でinnoDBのシャットダウンモードを変更していますが、これはデフォルトの設定みたいなので必要ないかもしれません。
https://dev.mysql.com/doc/refman/5.6/ja/innodb-parameters.html

スポンサーリンク

Posted by nobuhiro harada