MySQLのrootパスワードを忘れてしまった時の対処法
MacPortsを使ってインストールしたMySQLのrootパスワードを忘れてしまったので(というか設定した覚えがない)、rootパスワードを再設定しました。また忘れてしまった時のために手順をメモしておこうと思います。(当方の環境はSnow Leopard + MySQL 5.1.42。)
なお、今回作業するにあたって以下のページを参考にさせていただきました。ありがとうございます!
まず以下のコマンドを実行し、起動中のMySQLを停止させます。
$ sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper stop
次に以下のコマンドを実行してMySQLを直接起動させます。「skip-grant-tables」オプションを指定することで、MySQLにパスワードなしでログインしたり、権限の問題で本来ならばアクセスできないデータベースにアクセスすることができるようになるみたいです。なんだか怖いオプションですね。。
$ sudo mysqld_safe5 --user=root --skip-grant-tables
MySQLが起動したら、rootユーザでログインします。パスワードなんていらないぜ!
$ mysql5 -u root
ログインできたら新しいrootパスワードを設定します。念のため「flush privileges;」で権限データのキャッシュをクリアしておきます。
mysql> use mysql
mysql> update user set password=password('新しいパスワード') where user='root';
mysql> flush privileges;
mysql> exit
ログアウトしたらMySQLを再起動します。
$ sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper restart
最後に以下のコマンドを実行し、新しいパスワードでMySQLにログインすることができたら成功です。
$ mysql5 -u root -p
パスワードがわからなかったときはかなり焦ってしまいましたが、なんとか復帰できました。よかったよかった。
