エラー メッセージ「SQLSTATE[HY000] [1045] Access Denied for user 'username'@'localhost」 '" は、指定されたユーザーがデータベースにアクセスできないことを示します。これは、ユーザーが存在しない、パスワードが間違っている、またはユーザーに必要な権限がないために発生する可能性があります。
ユーザーが存在するかどうかを確認するには、次のコマンドを実行します。 query:
SELECT user, host FROM mysql.user
指定されたユーザー名とホスト名を含む行を探します。これは、ユーザーが
ユーザーが存在する場合は、パスワードを更新してパスワードが正しいことを確認します。
SET PASSWORD FOR 'username'@'localhost' = PASSWORD('new_password')
ユーザーデータベースにアクセスするための権限が不十分である可能性があります。次のようなコマンドを使用して、必要な権限を付与します。
GRANT SELECT ON database_name.* TO 'username'@'localhost'
上記の手順で問題が解決しない場合は、ファイアウォールの設定を調べて、データベース ポート (通常は3306)がオープンしました。さらに、app.php 構成ファイル内のユーザーのホスト名を確認してください。ホスト名は、mysql.user テーブルのユーザーのホスト列と一致する必要があります。
ユーザーのホストが % に設定されている場合、任意のホストと一致します。 app.php 設定内のホスト名がユーザーのホスト名と一致しない場合、問題が発生する可能性があります。ユーザーのホストを明示的に localhost に変更します。
MySQL 権限テーブルに加えられた変更を有効にするには、特権ユーザーによって実行される FLUSH PRIVILEGES ステートメントが必要です:
FLUSH PRIVILEGES
以上がMySQL で「ユーザー \'username\'@\'localhost\' のアクセスが拒否されました」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。