メモ/MySQLが起動しなくなった&rootのパスワードがわからなくなった時の対処

突然 Mysql が起動出来なくなったので対処したら今度は root のパスを失念・・・。
起動しなくなった MySQL

エラーログはこんな感じ。
1150817 16:17:34 [ERROR] Plugin 'InnoDB' init function returned error.
2150817 16:17:34 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
3150817 16:17:34 [ERROR] Unknown/unsupported storage engine: innodb
4150817 16:17:34 [ERROR] Aborting
何回か経験あるけど、大抵はデータフォルダの「lib_logfile0」と「lib_logfile1」を削除することで解決する。
が、今回それで解決しなかったのでデータフォルダを空にして(既存のファイルは別の場所にバックアップ)起動させる。
ちなみにデータフォルダは/etc/my.conf に設定した値があるのでそれを確認。
大体の場合は「/var/lib/mysql」かと。
データフォルダが空の状態で起動させると立ち上がり、データフォルダに色々ファイルが出来る。
ここで一旦停止してバックアップしておいたファイルを上書き → 再起動で正常な状態に戻る。

これで一安心とおもっていたら今度は root のパスを失念している事に気づく・・・。
ついでなのでそれについてもメモ。
MySQL の root パスワードを失念した場合の対処
1#まずはMySQLをストップさせる
2service mysqld stop
3
4#MySQLをセーフモードで起動
5mysqld_safe --skip-grant-tables &
6
7#起動したらログイン
8mysql -u root
9
10#使用するデータベースを変える
11use mysql;
12
13#ここでパスワードを設定し直す(hogehoge部分を設定したいパスに)
14update user set password=PASSWORD("hogehoge") where User='root';
15
16#設定したパスワードを反映
17flush privileges;
18
19#最後に終了
20quit
この流れで root パスワードを再設定。
このあと MySQL サーバー自体を再起動してからログイン出来るかを試して完了。
とりとめのないまとめ
今回はMySQLの起動できない問題にはじまりrootのパスワード失念と言うポカをしました。
と言うのも、テスト環境で作ったサーバーだからと言って何も控えて無かった自分が悪いのですけど。
・・・・気をつけます(´Д⊂ヽ