概要:
PHP または phpMyAdmin から MySQL データベースにアクセスしようとすると、次のエラーが発生する場合があります:
SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'
このエラーは、データベースに接続しようとしているユーザーに必要な権限がないことを示します。
解決策:
MySQL 5.7 の最近の変更により、root ユーザーは昇格された権限なしではデータベースに接続できなくなります。この問題を解決するには、次の手順に従います:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;
新しいユーザー資格情報を使用して接続するように PHP コードを変更します:
<code class="php">protected $name = 'newuser'; protected $pass = 'password';</code>
引き続き root ユーザーを使用したい場合は、sudo を使用してコマンドを実行して権限を昇格する必要があります:
<code class="sh">sudo mysql -u root</code>
その他の考慮事項:
以上がUbuntu 16.04 で「SQLSTATE[HY000] [1698] ユーザー \'root\'@\'localhost\' のアクセスが拒否されました」エラーを修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。