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

本格的なスキルを身につける

Linux/ITエンジニアとしてのスキルを身につけるにはLPI-Japanアカデミック認定校リナックスアカデミーがおすすめですよ。

データベースに戻る

「データベース」に関する他のTips

「データベース」に関する他のTipsはありません。

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