このエラーは、次の試行時に発生します特定のユーザーおよびホストからデータベースにアクセスするが、無効な資格情報またはユーザーが見つからないために拒否される権限。
1.データベース ユーザーの存在
指定されたユーザー (「test2」) が MySQL データベースに存在することを確認します。次のクエリを実行します。
SELECT user, host FROM mysql.user;
エラー メッセージに示されているように、「user」が「test2」、「host」が「localhost」またはワイルドカード (「%」) である行を探します。
2.パスワードの検証
データベース ユーザーが存在する場合は、パスワードが接続要求で使用されたものと一致するかどうかを確認します。必要に応じてパスワードを変更します:
SET PASSWORD FOR 'test2'@'localhost' = PASSWORD('new_password');
1.権限の確認
データベース ユーザーが目的のデータベース オブジェクトに対する十分な権限を持っていることを確認します。たとえば、「jobs」データベースに対する SELECT 権限を付与するには、次のようにします。
GRANT SELECT ON jobs.* TO 'test2'@'localhost';
2.権限の更新
権限テーブルを変更した後、FLUSH PRIVILEGES ステートメントを実行して変更を有効にします。
FLUSH PRIVILEGES;
1.ホストの不一致
接続リクエストで指定されたホスト (「localhost」) が、データベース内のユーザーに関連付けられているホストと一致することを確認してください。ホストを「localhost」または「%」に変更します。
2.ファイアウォールのブロック
ファイアウォールを一時的に無効にして、指定したポートで MySQL へのアクセスがブロックされているかどうかを確認します。必要に応じて、接続リクエストのポートを調整します。
3.ユーザー名またはパスワードが間違っています
接続リクエストで使用されたデータベースのユーザー名とパスワードを再確認してください。
以上がMySQL エラー 1045: アクセスが拒否されましたを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。