権限がなくてLaravelのDBが追加できなかった件

2025.03.12

DockerでLaravel12を入れると、DB名が「laravel」が固定されてしまうので、別途DBを追加しようとしたところ、権限がないとエラーが出た。

いくつか方法を試して成功したので、メモとして残しておく。

権限付与まで

ターミナルを起動し実行中のコンテナを一覧表示

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

PIC UP