Windows MySQLのrootパスワード忘れ

2010/06/01 | By KUMA | Filed in: 技術メモ.

しばらく使ってない実験用のサーバーでrootのパスワード忘れて大変な目にあったのでメモ

こちらを参考にさせていただいた。ありがとうございます。

消えると困るので例のごとく勝手ながらバックアップ

1.権限フリーオプション付でmysql起動

まずはmysqlを停止する。

その後

mysqlフォルダ

bin/my.ini

[mysqld]

skip-grant-tables

を追加して再起動。

もしくは mysqld –skip-grant-tables のようにオプション付で直接起動

2.rootパスワードを再設定する

どう起動したかにもよりますが

とにかく起動時とは別のcmd開いて

mysql -uroot mysql

でrootログインできます。

ログインしましたら,いくつか方法はありますがとにかくuserテーブルのrootのパスワードを変更します。(*下にも少し詳しく書きました)

今回は

mysql> UPDATE mysql.user SET Password=PASSWORD(‘newpassword’) WHERE User=’root’;

でフィールドを変更後

mysql> flush privileges;

反映しました。

2.rootパスワードを再設定する

どう起動したかにもよりますが
とにかく起動時とは別のcmd開いて
mysql -uroot mysql
でrootログインできます。

ログインしましたら,いくつか方法はありますがとにかくuserテーブルのrootのパスワードを変更します。(*下にも少し詳しく書きました)
今回は
mysql> UPDATE mysql.user SET Password=PASSWORD(‘newpassword’) WHERE User=’root’;
でフィールドを変更後
mysql> flush privileges;
反映しました。

余談ですが上実行後
Rows matched: 2 Changed: 2 Warnings: 0
と言われなんで2なのと思い
select * from mysql.user where User=’root’;
してみるとhostが
localhost

127.0.0.1
のrootが2人いました。パスワードは一緒でした。
これがいたって普通の状態なのか,それとも過去に何か理由があって自分で設定したのかは覚えていないです。
確か127.0.0.1をlocalhostとmysqlに認識させるコマンドがあったような気もして,
というか普通 @localhost で済むような。
とりあえず今のところ困っていないのでいいのです。


Tags: ,

Comments are closed here.