Closed2

Laravel sail で DB接続エラー SQLSTATE[HY000] [xxx] Access denied for user

plaincode_jpplaincode_jp

sail を起動後、マイグレーションを実行すると、次のようなエラーが出た。

 SQLSTATE[HY000] [1045] Access denied for user 'Laravel'@'192.168.0.5' (using password: YES) 

LaravelはDBを正しく認識している。(.envの設定が反映されている)

>>> config('database.connections.mysql')
=> [
     "driver" => "mysql",
     "url" => null,
     "host" => "mysql",
     "port" => "3306",
     "database" => "dbname",
     "username" => "dbuser",
     "password" => "password",
     "unix_socket" => "",
     "charset" => "utf8mb4",
     "collation" => "utf8mb4_unicode_ci",
     "prefix" => "",
     "prefix_indexes" => true,
     "strict" => true,
     "engine" => null,
     "options" => [],
   ]

原因

.envファイルなしでsailを実行したことで、誤ったmysqlボリュームを作成してしまった。

解決

以下で解決しました。

// すべてのイメージとボリュームを削除する
sail down --rmi all -v

// 再びビルド
sail up

参考

https://laracasts.com/discuss/channels/servers/laravel-sail-no-dbdb-user-created

このスクラップは2022/03/10にクローズされました