MySQL アクセス拒否エラー: SQLSTATE[HY000] [1045]
質問:
CakePHP を使用してデータベースを構成しているときに、「SQLSTATE[HY000] [1045] ユーザー 'username'@'localhost' のアクセスが拒否されました。」というエラーが発生しました。この問題が発生する理由と解決方法は何ですか?
回答:
エラー「アクセスが拒否されました」は、通常、指定されたパスワードまたは指定されていないパスワードの間の不一致を示します。 -指定されたホストに一致する MySQL ユーザーが存在する。 MySQL では、ユーザーはユーザー名とホストの両方で識別されます。
トラブルシューティングと解決策:
ユーザーの存在の確認:
次のクエリを実行して、指定されたユーザー名とホストを持つユーザーが存在するかどうかを確認します。
<code class="sql">SELECT user, host FROM mysql.user</code>
ユーザーが存在しない場合は、CREATE USER ステートメントを使用して作成します。
正しいパスワード:
ユーザーに提供されたパスワードが MySQL に保存されているパスワードと一致することを確認してください。次のコマンドを使用してパスワードを変更します:
<code class="sql">SET PASSWORD FOR 'username'@'host' = PASSWORD('new_password')</code>
ホストの不一致:
クエリで指定されたホストがホストと一致しない可能性がありますユーザーに関連付けられています。 SHOW GRANTS ステートメントを使用してユーザーの権限を確認します。ホスト値が「%」に設定されている場合は、接続文字列内のホストと一致するように「localhost」に変更します。
権限の付与:
ユーザーがデータベース オブジェクトに対して必要な権限を持っていることを確認してください。 GRANT ステートメントを使用して、SELECT、INSERT、UPDATE、または DELETE 権限を付与します。
権限のフラッシュ:
ユーザー権限に加えられた変更が有効になります。 MySQL がテーブルを再読み取りした後。再読み取りを強制するには、FLUSH PRIVILEGES ステートメントを実行します。
追加メモ:
以上がCakePHP データベース設定エラー: \'SQLSTATE[HY000] [1045] ユーザー \'username\'@\'localhost\'\ のアクセスが拒否されました: 問題とその修正方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。