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ユーザーのパスワードを再設定することで接続が可能になります。
  1. /etc/my.cnfをviで開きます。
  2. [mysqld]の下に skip-grant-tables を追加します。
    [mysqld]
    skip-grant-tables
  3. MySQLを再起動します。
    # systemctl restart mysqld
  4. MySQLに接続します。
    # mysql -u root
  5. 以下を実行します。
    mysql> flush privileges;
  6. rootユーザーの新しいパスワードを設定します。
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

  7. quitでデータベースから切断します。
    mysql> quit
  8. 再度/etc/my.cnfをviで開き先ほど追加した skip-grant-tables を削除するかコメントにします。
  9. MySQLを再起動します。
    # systemctl restart mysqld
  10. 改めて新しいパスワードで接続できることを確認してください。
    # mysql -u root -p
以上です。

公開日時:2019年06月01日 02:54:25

なお、VPS選びで迷ったら、こちらの記事で主要VPSのメモリ容量ごとの月額、年額料金を比較していますので、是非参考にしてみてください。

データベースに戻る

このページのトップに戻る