[Laradock][MySQL8] ユーザー権限がなく、データベースを操作できない時
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コンテナに入って、、
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