CentOS7でMySQLのrootパスワードを忘れた場合のリセット(rootでログインできない場合の対処方法)

    

はじめに

CentOS7ではmysqld_safeが利用できず従来の方法ではリセットできない。

対応方法

1.MySQLを停止する

systemctl stop mysqld

2.起動時オプションを設定

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

3.MySQL起動

systemctl start mysqld

4. MySQLにログインしパスワードを初期化

mysql -u root mysql> UPDATE mysql.user SET authentication_string = PASSWORD('new-password')     -> WHERE User = 'root' AND Host = 'localhost'; mysql> FLUSH PRIVILEGES; mysql> quit

5. MySQLを停止し、起動オプション設定を元に戻し再度起動する

systemctl stop mysqld systemctl unset-environment MYSQLD_OPTS systemctl start mysqld

6. 4で設定したパスワードでログインする

mysql -u root -p

 

参考元:

https://stackoverflow.com/questions/33510184/change-mysql-root-password-on-centos7