0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SQLSTATE[HY000] [1045] Access denied for user 'root'@'xx.xx.xx.xx' (using password: YES)の対処

Last updated at Posted at 2023-07-16

現象

Docker ✖️ MySQL環境でマイグレーションを実行しようとすると、

 % ./vendor/bin/sail artisan migrate   

エラー発生。

 Illuminate\Database\QueryException 

SQLSTATE[HY000] [1045] Access denied for user 'root'@'xx.xx.xx.xx' (using password: YES) 
以下略

原因:作業用ユーザーを作成してないため

rootユーザーではマイグレーションを実行できないので、作業用のユーザーを作成する。

1, コンテナのIDを確認

% docker ps

2, DockerのMySQLコンテナに接続
パスワードを求められるので、rootユーザーのパスワードを入力。
設定してない場合はエンターキーで通る。

% docker exec -it [コンテナID] mysql -u root -p

3, 新しいユーザーを作成

> CREATE USER '[ユーザー名]'@'%' IDENTIFIED BY '[パスワード]';

4, 作成したユーザーに権限を付与
(※ここでは全権限を付与していますが、適宜調節してください。)

> GRANT ALL PRIVILEGES ON *.* TO '[ユーザー名]'@'%';

5, 権限を有効にするために、フラッシュ

> FLUSH PRIVILEGES;

6, .envを更新

.env
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=データベース名
DB_USERNAME=作成したユーザー名
DB_PASSWORD=パスワード

7, マイグレーションを実行 → OK!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?