自分が管理してるサーバの MySQL の root パスワードを忘れてしまったのでリセットした際のメモ。
環境は CentOS5.7, MySQL5.5
参考にしたのは本家のドキュメント。ちゃんとやり方あるんだね。
MySQL :: MySQL 4.1 リファレンスマニュアル :: A.4.2 忘れたルートパスワードをリセットする方法
最初 mysqladmin 使う方法でやろうとしたけどうまく行かなかったのでもう片方のやり方でリセットした。どこか手順間違えてたかもしれない。
root パスワードリセットの手順
まず mysqld を --skip-grant-tables 付きで再起動する。
mysqld の pid はファイルに保存されているので以下のようなコマンドで停止する事ができる。
$ sudo kill `cat /var/run/mysqld/mysqld.pid`
その後 --skip-grant-tables をつけて起動。
/etc/init.d/mysqld ではうまくいかなかったので whereis mysqld して出てきた下記のパスで行った。
$ sudo /usr/libexec/mysqld --skip-grant-tables
その後 root でログインして user テーブルに対してパスワードの再設定を行う。
$ mysql -u root
mysql> use mysql;
mysql> UPDATE user SET Password=PASSWORD('mynewpassword') WHERE User='root';
mysql> FLUSH PRIVILEGES;
これでパスワード変更できた。 mysqld を再起動しておわり。
Sponsored Link
コメント