MySQLのrootパスワードを再設定する方法

MySQLのrootパスワードを再設定する方法 – qazqaz noteMySQLサーバのrootユーザーのパスワードを忘れてしまった場合のリセット方法をご紹介します。

1.Mysqlの停止と起動をする

[root@localhost ~]# /etc/rc.d/init.d/mysqld stop
mysqld を停止中:                                           [  OK  ]
[root@localhost ~]# /etc/rc.d/init.d/mysqld startsos
mysqld を起動中:                                           [  OK  ]

「/etc/rc.d/init.d/mysqld stop」でMySQLを停止し、
「/etc/rc.d/init.d/mysqld startsos」でMySQLをセーフモードで起動します。

startsosは起動時のオプションとして、
「–skip-grant-tables」 ユーザー権限のチェックを無効化
「–skip-networking」 外部からのTCP/IPアクセスを無効化
が付与された状態でMySQLサーバが起動します。

2.MySQLに接続する

[root@localhost ~]# mysql -uroot mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.51 MySQL Community Server (GPL) by Remi
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> 

MySQLユーザーのrootで接続します。「–skip-grant-tables」オプションで起動しているため、パスワードが求められません。

3.MySQLのrootパスワードを設定する

mysql> UPDATE user SET Password=PASSWORD('xxxxxxx') WHERE User='root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye

「UPDATE user SET Password=PASSWORD(‘xxxxxxx’) WHERE User=’root’;」でrootのパスワードを再設定します。「xxxxxxx」の場所には上書きする新しいパスワードを入力してください。
「FLUSH PRIVILEGES;」で設定を反映させ、「quit」でMySQLの接続を切ります。

4.MySQLを通常モードで再起動します。

[root@localhost ~]# /etc/rc.d/init.d/mysqld restart
mysqld を停止中:                                           [  OK  ]
mysqld を起動中:                                           [  OK  ]

MySQLを通常モードで再起動します。

5.新パスワードでログインできるか確認を行う

[root@localhost ~]# mysql -uroot -p
Enter password:   ←3で設定をしたパスワードを入力
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.5.51 MySQL Community Server (GPL) by Remi
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> 

「Enter password:」に3の「xxxxxxx」で設定したパスワードを入力しログインできれば成功です。