PHP/Laravel

SQLSTATE[HY000] [1045] Access denied for user ‘root’@’localhost’ (using password: NO)のエラーを解消する方法

shiro-changelife

最近はLaravelを使って、色々なWebアプリやプチ機能を作ったりしてスキルアップをしています。

そんな僕が最近出くわしたエラーがこちら。

SQLSTATE[HY000] [1045] Access denied for user ‘root’@’localhost’ (using password: NO)

訳してみると「ユーザー ‘root’ @ ‘localhost’のアクセスが拒否されました」とのこと。

ということで、この記事では上記のエラーの解消方法をお伝えしていきます。

【動作環境】
  • Mac OS
  • Laravel6.18.36
  • PHP 7.4.5
  • MAMPを使用

【前提】.envファイルの環境変数を確認する

とりあえずrootのアクセスが拒否されたとのことなので、環境変数を設定する.envファイルを確認してみましょう。

.envファイルのデータベース名とかでミスってるとrootでアクセス出来ないはずなので、、、

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=データベース名
DB_USERNAME=root
DB_PASSWORD=root

僕の場合は上記のようにしていました。

ここはローカルの環境開発を何で作っているかによって変わると思いますので、各自調べてください。(MAMPの場合は上記の通り。)

これでデータベース名も特に間違っていないかったので、これでいけるはずなのに、、、なぜ??

【結論】SQLSTATE[HY000] [1045] Access denied for user ‘root’@’localhost’のエラーを解消する方法

実はとっても簡単でキャッシュをクリアすれば良いだけでした。

エラーの発生しているアプリのディレクトリまで移動して、ターミナル上で下記2のコマンドを実行してください。

//下記コマンドを実行
php artisan cache:clear

//▼実行結果
Cache cleared successfully.

//下記コマンドを実行
php artisan config:cache

//▼実行結果
Configuration cache cleared!
Configuration cached successfully!

これで無事キャッシュがクリアされました。

なので、おそらくこれで再度アクセスすればエラーが解消されているはずです。

これでも無理ならおそらく.envファイルの間違いだと思いますので、もう一度よく確認してみてください!

参考になったという方はツイッターなどでシェアして頂けるととても嬉しいです!笑

それでは良きLaravelライフを(*´ω`*)ノ

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT ME
シロウ
シロウ
NFT・仮想通貨投資家 / エンジニア
仮想通貨・NFTに400万以上投資しています。

本業エンジニア・副業ブロガー。

ブログ最高月80万円。累計200万以上。
記事URLをコピーしました