今回、本格的にmysqlがぶっ壊れたワケではなく、
mysql.sockが何かの原因で消えたのが、ダメだったようです。
DB接続エラーが出て、?ってなりました。
いやまさかーと思って、show databasesしたら
information_schemaだけになってた、涙があふれてきました。
こんなんなった事無いから、キーワードが分からなくて
キーワード探しからはじめたんですけど、以外にmysqlを何とか
しちゃう人は多いみたいで、沢山情報が出てきました。
こういう現象を「障害」と呼ぶようで、
リストアとリカバリーでまた意味が違うそうです。
本格的に壊れてる人はこの記事参考にすると良いかも。
mysqlデータベース障害対応手順
今回の原因
原因を分析というか、サーバー一緒に使ってる人がDBおかしいって言い出した時間と
linuxのバックアップのテストしてた時間が重なるので、多分homeディレクトリ消した
時にmysql.sockがどっかに逝ってしまったんだと思います。多分。
今回の復旧方法
とりあえず、mysql停止して、ファイルを見てみると、
DBごとにフォルダが別れてるので、あれ実は大したこと無いんじゃね?ってなりました。
もう一度mysql起動して、ログインしようとすると、
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
こいつが出てきました。これをぐぐったら、
mysqlソケットエラー解決法
が出てきて、この通りに
sudo touch /var/lib/mysql/mysql.sock sudo /etc/init.d/mysqld restart
やったら直った。
mysqlリスタートだけで良いって言う人も居たけど、どうなんでしょうね。
今回の件から我々が得るべき教訓は、きちんとバックアップを取るということだ。
rsyncテストしてて、これって、結構皮肉だよねぇ。