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

memo_top

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

起動しなくなったMySQL

screenshot_24

エラーログはこんな感じ。

150817 16:17:34 [ERROR] Plugin 'InnoDB' init function returned error.
150817 16:17:34 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
150817 16:17:34 [ERROR] Unknown/unsupported storage engine: innodb
150817 16:17:34 [ERROR] Aborting

何回か経験あるけど、大抵はデータフォルダの「lib_logfile0」と「lib_logfile1」を削除することで解決する。

が、今回それで解決しなかったのでデータフォルダを空にして(既存のファイルは別の場所にバックアップ)起動させる。

ちなみにデータフォルダは/etc/my.confに設定した値があるのでそれを確認。
大体の場合は「/var/lib/mysql」かと。

データフォルダが空の状態で起動させると立ち上がり、データフォルダに色々ファイルが出来る。

ここで一旦停止してバックアップしておいたファイルを上書き→再起動で正常な状態に戻る。

screenshot_25

これで一安心とおもっていたら今度はrootのパスを失念している事に気づく・・・。

ついでなのでそれについてもメモ。

MySQLのrootパスワードを失念した場合の対処

#まずはMySQLをストップさせる
service mysqld stop

#MySQLをセーフモードで起動
mysqld_safe --skip-grant-tables &

#起動したらログイン
mysql -u root

#使用するデータベースを変える
use mysql;

#ここでパスワードを設定し直す(hogehoge部分を設定したいパスに)
update user set password=PASSWORD("hogehoge") where User='root';

#設定したパスワードを反映
flush privileges;

#最後に終了
quit

この流れでrootパスワードを再設定。

このあとMySQLサーバー自体を再起動してからログイン出来るかを試して完了。

 

とりとめのないまとめ

今回はMySQLの起動できない問題にはじまりrootのパスワード失念と言うポカをしました。

と言うのも、テスト環境で作ったサーバーだからと言って何も控えて無かった自分が悪いのですけど。

・・・・気をつけます(´Д⊂ヽ

 

-ソフトウェア
-, ,

© 2020 ENZO.NET(えんぞーどっとねっと)