ホームページ  >  記事  >  データベース  >  Ubuntu 16.04 で「SQLSTATE[HY000] [1698] ユーザー \'root\'@\'localhost\' のアクセスが拒否されました」エラーを修正する方法?

Ubuntu 16.04 で「SQLSTATE[HY000] [1698] ユーザー \'root\'@\'localhost\' のアクセスが拒否されました」エラーを修正する方法?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-01 12:11:29896ブラウズ

How to Fix

Ubuntu 16.04 の「SQLSTATE[HY000] [1698] アクセスが拒否されました。ユーザー 'root'@'localhost'」エラーのトラブルシューティング

概要:

PHP または phpMyAdmin から MySQL データベースにアクセスしようとすると、次のエラーが発生する場合があります:

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

このエラーは、データベースに接続しようとしているユーザーに必要な権限がないことを示します。

解決策:

MySQL 5.7 の最近の変更により、root ユーザーは昇格された権限なしではデータベースに接続できなくなります。この問題を解決するには、次の手順に従います:

  1. 特権を持つ新しいユーザーを作成します:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;
  1. 更新PHP コード:

新しいユーザー資格情報を使用して接続するように PHP コードを変更します:

<code class="php">protected $name = 'newuser';
protected $pass = 'password';</code>
  1. Sudo を使用して接続:

引き続き root ユーザーを使用したい場合は、sudo を使用してコマンドを実行して権限を昇格する必要があります:

<code class="sh">sudo mysql -u root</code>

その他の考慮事項:

  • 新しいユーザーが、実行するデータベース操作に必要な権限を持っていることを確認してください。
  • さらに問題が発生した場合は、MySQL ドキュメントを参照するか、MySQL のサポートを求めてください。コミュニティ。

以上がUbuntu 16.04 で「SQLSTATE[HY000] [1698] ユーザー \'root\'@\'localhost\' のアクセスが拒否されました」エラーを修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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