Mysqlのパスワードの初期化方法

公開: 2013-07-27 22:12
更新: 2016-04-29 06:02
たたーん
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)


...あれ?
たたたーん
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)


あれれ?
たたたーんっ
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)


およよ!?


ってな感じで
Mysqlのパスワードを忘れてしまった人のための初期化方法です。


まずはmysqlを止めます。
# service mysqld stop
Stopping mysqld: [ OK ]
--skip-grant-tablesをつけてセーフモードでmysqlをスタートします。
# mysqld_safe --skip-grant-tables
130727 16:55:22 mysqld_safe Logging to '/var/log/mysqld.log'.
130727 16:55:22 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
別のターミナルを開いてmysqlを実行します。
# mysql
mysql>
mysqlってなDBが存在すると思うのでそちらに移動し、
ユーザー情報が入っているuserテーブルのパスワードを変更しちゃいます。
mysql> use mysql;
Database changed

mysql> UPDATE user SET Password=PASSWORD('mynewpassword') WHERE User='root';
Query OK, 1 rows affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

これでmysqlを再起動すればOKです♪簡単ですね♪

パスワードを変更を命じたのに
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 0
のように変更されなかった場合は
そもそもユーザー名がrootじゃないかもです。

そんな時は下のコマンドで確認してみてください。adminだったりします。
mysql> SELECT Host, User FROM user;
+-----------+------------------+
| Host      | User             |
+-----------+------------------+
| localhost | admin            |
| localhost | apsc             |
| localhost | pp_sb_db         |
+-----------+------------------+
3 rows in set (0.00 sec)
ではでは♪

この記事をシェア
この記事にコメントする
書き込む
あっきぃ(@appstars_aki)
Web、iOSなフリーランサーです。好きなものはお寿司です。でもお寿司は高いので普段は雑草とか拾ったドングリを食べています。お仕事や意味もなく毎月お小遣いをくれる人を探してます。

お仕事の依頼や自分で作ったアプリのレビューを希望しちゃう方はaki@appstars.jpまでご連絡ください。