ホームページ >データベース >mysql チュートリアル >root ユーザーが動作しているにもかかわらず、MySQL に接続すると PHP コードが「アクセス拒否」されるのはなぜですか?

root ユーザーが動作しているにもかかわらず、MySQL に接続すると PHP コードが「アクセス拒否」されるのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-31 08:49:13358ブラウズ

Why Does My PHP Code Get

PHP 関数の「接続に失敗しました: ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワードを使用: YES)」エラーの解決

PHP を使用して MySQL データベースに接続すると、「接続に失敗しました: ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワードを使用:はい)」エラーが発生します。この問題は、パスワードを正しく設定し、コマンド ラインからデータベースにアクセスしているにもかかわらず発生する可能性があります。

解決策

この問題を解決するには、次の手順を実行できます。

  1. root としてログインユーザー:

    • mysql -u root -p -h localhost を使用して root ユーザーとして MySQL にログインします。
  2. 新規作成ユーザー:

    • 権限が制限された新しいユーザーを作成します。例: CREATE USER 'francesco'@'localhost' IDENTIFIED BY 'some_pass';
  3. データベースの作成:

    • ユーザーのデータベースを作成します。例: CREATE DATABASE shop;
  4. 権限の付与:

    • データベースに対する新しいユーザー権限を付与します。例: GRANT ALL PRIVILEGES ON shop.* TO 'francesco'@'localhost';
  5. ログアウトして再度ログイン:

    • root アカウントからログアウトし、新しいユーザー アカウントに戻ります。 quit を使用します。ログアウトし、mysql -u francesco -p -h localhost で新しいユーザーとしてログインします。
  6. データベースを再構築します:

    • ソースなどのスクリプトを使用してデータベースを再構築しますshop.sql.
  7. PHP で接続:

    • PHP 関数で、新しいユーザー資格情報を使用して接続しますデータベースに。例: $conn = new mysqli("localhost", "francesco", "some_pass", "shop");

これらの手順に従って、MySQL への接続が確立されます。 PHP 関数からのデータベースにより、アクセス拒否の問題が解決されるはずです。

以上がroot ユーザーが動作しているにもかかわらず、MySQL に接続すると PHP コードが「アクセス拒否」されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。