Mysql 8 のrootパスワードが忘れた時の対処方法

2019年03月21日

Mysql8のrootパスワードが忘れた時に、対応方法は以下となります。

1. my.cnfにskip-grant-tablesを追加する
パスワードを入力しなくでもログインできるように、my.cnfにskip-grant-tablesを追加する。

[mysqld]
.
.
skip-grant-tables
.
.

2.mysqlサービスを再起動する

systemctl restart mysqld.service

3.パスワード入力なしでログインする
mysql -u root

4.パスワードを空欄に設定する

mysql> use mysql
mysql> UPDATE user SET authentication_string=null WHERE user='root';
mysql> flush privileges;
mysql> quit

5.skip-grant-tablesを無効にする
/etc/my.cnf の skip-grant-tables を無効にする。

[mysqld]
.
.
#skip-grant-tables

6.mysqlサービスを再起動する

systemctl restart mysqld.service

7.rootのパスワードを再度設定する
例:mysql_secure_installationでrootのパスワードを再設定する。