MySQLに「'Access denied for user 'root'@'localhost'」で接続できない場合の対処法
カテゴリ:データベース
CeontOS 7などのSystemd環境でMySQLに接続時に「mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost'」のエラーとなる場合、以下の手順でMySQLのrootユーザーのパスワードを再設定することで接続が可能になります。-
/etc/my.cnfをviで開きます。
-
[mysqld]の下に skip-grant-tables を追加します。
[mysqld] skip-grant-tables
-
MySQLを再起動します。
# systemctl restart mysqld
-
MySQLに接続します。
# mysql -u root
-
以下を実行します。
mysql> flush privileges;
-
rootユーザーの新しいパスワードを設定します。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
- quitでデータベースから切断します。
mysql> quit
-
再度/etc/my.cnfをviで開き先ほど追加した skip-grant-tables を削除するかコメントにします。
-
MySQLを再起動します。
# systemctl restart mysqld
-
改めて新しいパスワードで接続できることを確認してください。
# mysql -u root -p
公開日時:2019年06月01日 02:54:25