バルス?悲報… 消えたデータベース(涙)WordPress Popular Posts のデータを復元
事務所内で、この言葉を唱えると何かしら機材がトラブル(故障)を起こす!という一向に笑えないジンクスがあったりする
バルス!
本当なのですw
そんな金曜日の残業中、ふと「今日の金曜ロードSHOWは天空の城ラピュタですよ!?」と部下から言われ「バルス!」と答えたのか?
記憶も曖昧(たしかに言ってしまった)だったりしたのですが
その夜、この禁断の果実で、とんだ異変が…(汗)
プラグイン WordPress PopularPosts でトラブル発生
最下段のViewsには全期間で累計閲覧数が最も多い4つの記事が自動で載る用にWordPressのプラグイン WordPress Popular Posts を設定してあったのですが
何だか?表示が変ですねぇ…?
普段でしたら13,000ほどの閲覧数がある記事がTOPに来ていたのに投稿したばかりの記事がTOPで表示されています…
半分、涙目になりながら原因追求を始めたagehaでした…orz
原因はアップデート?ヒューマンエラー?
確かに直近でプラグイン WordPress Popular Posts をアップデートしましたが、PHPエラー(画面まっ白)などにはならずにサイトも正常に稼動していたので安心していたのですが…
この少し前の時点で
ふと、今回アップデートしたプラグイン WordPress Popular Posts ばかりで作成した固定ページ「禁断の果実まとめ」を編集画面で確認してみると
設定したウィジェットには
「現在 WordPress Popular Posts は使用できません」の文字の嵐!(涙)
ここで更新したプラグイン Popularposts の不具合を疑ったagehaは、先週バックアップしてあったファイルから問題のあるプラグインのフォルダだけ抜き取り
プラグインのダウングレード作業に入りましたが
プラグインのトラブルなら慣れたもの!
こういう油断が失敗のもとw
などと、余裕綽綽で既存のプラグインをフォルダごと削除した後に用意した1つ前のバージョンの WordPress Popular Posts フォルダをアップロード!無事にダウングレードに成功したものの
閲覧数の累計データが
全て0クリアされていました!(爆)
どうやら
WordPress Popular Posts のフォルダ内にて閲覧履歴の累計データを保管している訳ではなく、サーバーのデータベース(MySQL)にて専用のテーブルが作成されて蓄積されていたようで
プラグインフォルダをSSHとかで手動削除したのなら良かったのですが、WordPressのプラグイン管理画面から完全削除してしまったので
MySQLのテーブルも
一緒に削除されてしまった模様です(涙)
これではプラグインの不具合ではなく
ただのヒューマンエラーですね…orz
その後、プラグイン WordPress Popular Posts の古いバージョンも新しいバージョンも正常に動作確認が取れたのですが、累計データは消えてしまったままとなってしまいました…
WordPress Popular Posts の履歴データベースの復元
WordPress Popular Posts 以外にもWordpressではデフォルト(Count per day?)で記事毎の閲覧数(画像の最右列)を持ってはいますが
若干、その数字の信憑性が低いのと
プラグイン WordPress Popular Posts で作成したウィジェットを今後も使用する都合から、直近24時間や7日間などの直ぐに溜まりそうなデータは兎も角
累計データだけでも復旧したい!
少なくてもここ数年間の努力の賜物ですからね
と思い、足りない頭をフル回転させながら
翌日は普通に仕事だと言うのに夜中の12時をまわった辺りから色々なサイトを参考にしつつ復旧作業の手順と内容を頭の中で構築してみました!(汗)
ポイント!
WordPress Popular Posts の累計データはWordPressで使用されているDBの(接頭子)_popularpostsdataというテーブルに格納されている
という事が発覚!(ちなみに24時間~1ヶ月のデータは(接頭子)_popularpostssummaryテーブルに格納されています)そんな感じで
構築した復旧手順は以下の通り…
ageha流 WordPress Popularpost 累計データの復旧手順(笑)
- 手元ある約1週間前のバックアップファイルからMySQLのダンプリストを用意
- 用意したダンプリストから必要な部分のみ抽出して復元する事も出来るみたいだったのですが面倒(agehaの技量的に)だったのでパス!
- MacPro Early 2008君のローカル環境に残っていたCentOS上に用意したダンプリストを使用してVPN上の禁断の果実MySQLの全データベースを一度、一括復元!
- 復元したMySQLデータベースからプラグイン WordPress Popular Posts で使用しているテーブル(テーブル名は 接続子_popularpostsdata)のみ改めてダンプ!
- ダンプしたテーブルのデータをVPS上のCentOSにアップロードして既存のMySQLデータベースにプラグインPopularpostsが使用しているテーブルのみ復元!
しかしながら
久しぶりに起動したローカル環境の操作に手こずったり、上手くダンプが取れずにMySQLのmy.cnfファイルをviで書き換えたりと
思わぬ(当然の?)苦戦!(笑)
それでも
何とか?2種類のダンプリストを作成できましたが、肝心のVPS上のMySQLに復元しようとすると
謎のエラー!(涙)
こういう時は既に頭が回転してないのですよねw
こんな感じで
午前2時半を過ぎた辺りで力尽き、問題解決の方法を夢見ながら布団に入りました…
MySQL テーブル のみ バックアップ ~ 復元
上記にも書きましたが、DB全体をバックアップしたダンプリストから一定のテーブルデータのみ抽出(切り取り)して復元する方法もありましたが、現在のagehaの実力と失敗&リトライの時間を惜しみ
より簡単な方法(ローカル環境で一度一括で全DBを復元後、必要なテーブルのみ再度ダンプ!)を
今回は選択!
MySQL テーブルのみバックアップ覚書
1 2 3 |
insert文だけを出力するには、-t または --no-create-info オプションを指定します。 mysqldump -u user_neme -p -t db_name table_name > backup.sql |
または
1 |
mysqldump -u user_neme -p db_name table_name > backup.sql |
復元
1 |
mysqldump -u user_neme -p db_name < backup.sql |
あくまで
agehaの覚書ですので、詳しくは専門でMySQLを解説しているサイトへどうぞ!(汗)
また、今回VPS上のCentOSのMySQLに復元する際にエラーになってしまう原因を寝ながら何度も考えましたが(笑)
辿り着いた答えは…
プラグインを一度、無効にすればいいんでない?(爆)
寝たらすっきりw
翌朝、そう思いついたagehaは、ブラウザからWordPressにログインして一度、復元するテーブルが使用しているプラグイン WordPress Popular Postss を停止状態にした後、再度、VPS上のCentOSにSSHで入り
カタカタとコマンド入力!
願いを込めつつ最後にエンターキーを「えいっ!ポチっ!」ここまでの作業時間は、昨夜の内に全て準備してあったので
ものの数分(笑)
・・・
無事にプラグイン WordPress Popular Posts が累計データを格納していたテーブルを
復元できました!
その後、ブラウザの管理画面からプラグイン WordPress Popular Posts を有効化したらブログ最下段のViewsの欄も元通り!
それでも
復元もとのバックアップデータが約1週間前のデータでしたので、今週7日間分のアクセス数が反映されていないのですが
この際、背に腹は代えられません!(汗)
無事に累計データが復元できて本当に良かったです!前日は半分泣きそうになりながら寝る間も惜しんで復旧方法を試行錯誤した甲斐がありましたね!?
それにしても
バルス!恐るべし…orz
まとめページは再構築中…
プラグイン WordPress Popular Posts をアップデートした際に登録してあったウィジェットが壊れてしまったので、現在「禁断の果実まとめ」ページはリンクを切って再構築中です…
追記:再構築終了しました!
バイクの免許取得記事も普通二輪&大型二輪と増えましたし、バイクもインパルス君(黒男)とB玉号と増車され記事のカテゴリー自体が増えていますので
この際、禁断の果実まとめページは
大幅リニューアルをする事にしました!
する事にした!だけで完成した訳ではありませぬw
スポンサーリンク