どうも、ミムラです。
先日、契約しているXサーバー内を整理しようとしていたところ、間違って使用中のMySQLを削除してしまいました。
結果的には2日後には元通りに復元できたわけですが、相当焦りました・・・。
やっちゃったことある人はわかると思う。10秒前でいい……時間よ戻れの心境です。自分を殺したくなりました。
これは、またいつか同じミスするかもしれないのと、同じような状況で絶叫している人のために、その時の復旧方法と流れについてまとめた備忘録です。
ご参考までに。
7日以内なら削除してしまったMySQLを復元可能
基本的にXサーバーだと、MySQLを何かの間違いで削除してしまっても、7日以内なら無料で復元可能です。
サーバー側で自動バックアップを取ってくれてます。素晴らしいですね。
他のレンタルサーバーはどうか知らないですが、たぶん同じようなサポートはあると思います。無料か有料かは別として。
Xサーバーで削除したMySQLの復元方法
復元するには必ず、以下の3つが必要になります。
- MySQLデータベース名
- MySQLユーザー名
- MySQLパスワード
覚えている又はメモっていた人は、賢いですね。いや普通そうするのかも。
でも僕はというとまったく記録していなかったので、これを調べるところからスタートでした。
FFFTPから接続してMySQLデータベース名、ユーザー名、パスワードを確認
確認方法は意外と簡単です。僕はFFFTPを使っていたので、そこからドメインの中身を確認できました。
ドメイン
↓
public_html
↓
wp-config.php
このように進んでいくと上画像のようにwp-config.phpがあるので、開いて以下が記載してあるところを見つけてください。
—————————————-
/** WordPress のためのデータベース名 */
define(‘DB_NAME’, ‘■データベース名■’);
/** MySQL データベースのユーザー名 */
define(‘DB_USER’, ‘■データベースユーザー名■’);
/** MySQL データベースのパスワード */
define(‘DB_PASSWORD’, ‘■パスワード■’);
—————————————-
赤字の部分を確認し、それぞれメモしておきます。
次に、それらを使ってXサーバーからMySQLを設定し直していきます。
MySQLの設定
https://www.xserver.ne.jp/manual/man_db_setting.php
これができたら、次に自動バックアップから復元します。
自動バックアップからのデータベース復元
https://www.xserver.ne.jp/manual/man_db_restore.php
正しく復元が完了すれば、サイトが復活します。
これだけ。超簡単です。
・・・
ただ、僕の場合は実は何度か試してもうまく復旧しなくて、サポートに何度もお世話になりました。
結局のところ、原因はパスワードが正しく入力できていないことにありました。
MySQLデータベース名とユーザー名は削除してしまったものを正しく入力していたのですが、パスワードだけなぜかミスってて、それで復元エラーになってたみたいです。
まあみんなはそんなミスしないと思うけど、一応ね。
・・・
あとちなみに、普段FFFTP使っていない人。
MySQLデータベース名などの確認方法として、Xサーバーにログインしての「ファイル管理」からでも確認できると思うので、そっちから見てみてください。
ここですね↓
最後に:今回の失敗で学んだ3つの教訓
僕は当初、バックアップから復元してもらうには、サポートに頼んで有料の5000円くらいするのをやらないと直らないと思ったのですが、申し込む前にサポートに問い合わせてみて正解でした。
7日間以内なら自動バックアップから無料復元できることを教えてもらえてラッキー。
今回の失敗を踏まえて、以下の3つが教訓になりました。
- MySQLデータベース名、ユーザー名、パスワードは一応メモっとく
- MySQLの削除は超慎重にやる
- 最悪、復元無理なときのために細目にWPのバックアップをとっておく
たまたま今回復元できたからよかったものの、もし手遅れになっていたりしたら、WPのバックアップなかったら大変なことになってました。
小規模サイトならまだマシですが何百記事とか何千記事とか入ってたら、まじで絶対心折れると思います。
悔やんでも悔やみきれません。
MySQLの取り扱いも慎重にしないとダメですが、それよりも毎回こういうことがある度にバックアップの重要性を思い知らされます。
とはいえ、こういうのって忘れたころに来るんですよえ。
・・・
自戒を込めて、最後にまとめ。
バックアップは大事や!絶対念のために定期的に取っておくんや!