ホームページ  >  記事  >  データベース  >  Ubuntu 16.04 で MySQL ユーザー「root」に対して「アクセスが拒否されました」と表示されるのはなぜですか?

Ubuntu 16.04 で MySQL ユーザー「root」に対して「アクセスが拒否されました」と表示されるのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-02 12:56:30306ブラウズ

Why Am I Getting

Ubuntu 16.04 を使用した MySQL ユーザー 'root' のアクセスが拒否されました

Ubuntu 16.04 上の Web サーバーから MySQL データベースに接続しようとしたとき、ユーザーは次のエラーに遭遇する可能性があります:

SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'

この問題は、MySQL 5.7 ではデフォルトの認証メカニズムが変更され、昇格された権限なしでは root ユーザーにアクセスできなくなったために発生します。

解決策:

このエラーを解決するには、ユーザーは root ユーザーを使用する代わりに、必要な権限を持つ新しい MySQL ユーザーを作成する必要があります。次の手順はプロセスの概要です:

  1. 新しい MySQL ユーザーを作成します:
sudo mysql -u root -p
プロンプトが表示されたら root パスワードを入力します。
CREATE USER new_user@localhost IDENTIFIED BY 'new_password';
「new_user」を目的のユーザー名に置き換え、「new_password」を強力なパスワードに置き換えます。
  1. 新しいユーザーに権限を付与します:
GRANT ALL PRIVILEGES ON *.* TO new_user@localhost;
これにより、新しいユーザーにすべてのデータベースとテーブルへの完全なアクセス権が付与されます。
  1. 新しいユーザーを使用するように Web サーバーを構成します:

新しく作成されたユーザー認証情報を使用するように、提供された質問の PHP コードを変更し、「root」を「new_user」に、「root」を「new_password」に置き換えます。

  1. フラッシュ権限:
FLUSH PRIVILEGES;
これにより、行われた変更で権限テーブルが更新されます。
  1. MySQL を終了します:
EXIT;

これらの手順に従うことで、ユーザーは「アクセスが拒否されました」エラーが発生することなく、Ubuntu 16.04 上の Web サーバーから MySQL データベースに接続できます。

以上がUbuntu 16.04 で MySQL ユーザー「root」に対して「アクセスが拒否されました」と表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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