MySQLのrootユーザーのパスワードリセット

MySQLのrootユーザーのパスワードリセットの仕方を確認します。

MySQLをアンインストールしてから再度インストール

これが一番確実だと思います。

  1. アンインストール
  2. インストール

set-environmentを利用して一時的に止める方法

set-environmentを利用して一時的にMySQLサービスを止める、そのあとにset-environmentを戻す、がうまくかなかったので

set-environmentを利用して一時的に止める

1. mysqlを停止:

systemctl stop mysqld

2. mySQL環境オプションの設定

systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"

3. 先ほど設定したオプションでmysqlを起動します。

systemctl start mysqld

4. rootでパスワード無でログイン

mysql -u root

5.以下のmysqlコマンドでrootユーザーのパスワードを更新。

mysql> UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPassword')
 WHERE User = 'root' AND Host = 'localhost';
mysql> FLUSH PRIVILEGES;
mysql> quit
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'
mysql> FLUSH PRIVILEGES;
mysql> quit

6. mySQLの停止

systemctl stop mysqld

7. mySQLの環境設定オプションを解除し、次回から正常に起動するようにします。

systemctl unset-environment MYSQLD_OPTS

7. mysqlを普通に起動する。

systemctl start mysqld

8. 普通にログイン。

mysql -u root -p

参考