DockerでLaravel12を入れると、DB名が「laravel」が固定されてしまうので、別途DBを追加しようとしたところ、権限がないとエラーが出た。
いくつか方法を試して成功したので、メモとして残しておく。
Table of Contents
権限付与まで
ターミナルを起動し実行中のコンテナを一覧表示
docker ps
mysql/mysql-server行のNAMES列にある名前を確認し、それをメモしておく
先ほど取得したNAMES配列を指定してMySQLコンテナに入る
docker exec -it 先ほど取得したNAMES bash
2. MySQLに root
ユーザーでログイン
mysql -u root -p
sail
ユーザーに権限を付与
GRANT ALL PRIVILEGES ON satooya_project.* TO 'sail'@'%';
FLUSH PRIVILEGES;
MySQLから抜ける
exit
コンテナを再起動
docker-compose restart
新DBへのデータ移行
コマンドは使わずにphpmyadminの旧DBからデータをエクスポート
新DBにファイルをインポートし、.envのDB名を変更すればOK