メシのタネ

めしのたねになるIT情報配信サイト


【DB消えた】

,

  1. DB
  2. MySQL
  3. 【DB消えた】

今回、本格的に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テストしてて、これって、結構皮肉だよねぇ。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.

若い頃、「仕事中にハマったこと」や「誰かに共有したい技術的な気づき」をアウトプットしたくてブログを始めましたが、勢い任せでよく分からない記事を大量生産し、あえなく飽きて終了。

改めて今、キャリア15年分の経験や知識が、これからITエンジニアを目指す方や、同じような課題で悩んでいる現役エンジニアの「メシのタネ」になるような記事を残したいと思っています。
※過去の記事は見ると精神が崩壊するため、そっとしておいてください。

🛠 経歴という名の珍道中:
文系Fラン → 広告営業 → Web営業 → 通信営業 → Web進行 → 出版 → Web媒体運用 → ソフトウェアハウス → SES → フリーランス

専門教育も受けず、転職歴も多数。履歴書はまるで時系列の事故記録のようですが、試行錯誤を重ね、なんとかエンジニアとして食べています。

このブログでは、そんな「履歴書クラッシャー型エンジニア」が送る、
名古屋一敷居の低い、実務に役立つ技術ブログを目指します。

PHP
魔王と行く! / Interface / Polymorphism / Ontology 深淵ガイドNew!!
Laravel
Laravel 12、「コード 1 行も書き換えず未来へ」──静かな革命の手順書New!!
Laravel
LaravelのMiddlewareって意味あるの?仕組み・使いどころ・やらかしまで整理してみたNew!!
Laravel
ServiceProviderって何してるの?DIの背後で動いてるやつの正体New!!
Laravel
LaravelのサービスコンテナとDI、「書いてるだけで動く」コードの正体
Laravel
Laravelのアーキテクチャ、実は誰もわかってない説