病的溺愛シンドローム > WordPress > プラグイン > その他 > HeadSpaceから始まったMySQL奮闘記

HeadSpaceから始まったMySQL奮闘記

Posted on 2009年05月8日 | 6 Comments| Clip to Evernote

headの部分を強力にカスタムしたり、
その他なんでもできちゃう的なプラグインのHeadSpace2だが、
どうやらいろんなバグ付きのようだ。
(だから頻繁にアップデートされるんだろうな…。)

ページモジュールの一部の機能がエラーで動作しなかったり、
それを見なかったことにして有効にしてると他のプラグインに影響したり、
サイトモジュールの便利そうな機能は一部おかしなタグを吐いたり…
と、本当は気付いてたけど目をつぶっていた部分はいくつもある。

でも、まさか ”たかがタグがおかしいだけ” の現象で
ここまで面倒臭いことになるとは想像もしていなかった…。

勢い余ってHeadSpaceを削除@@;

ゴミを消そうとしたところから始まった

自分のブログをいかにちゃんとチェックしていなかったかバレバレだが
このブログの一番上にずっとタグのかけらが表示されていた。
ページが完全に表示されるとGoogle Friend Connectのソーシャルバーで
隠れちゃって分からないんだけど、読み込み中だとゴミが…。
(教えてもらうまで気付かなかったんだけど;)

そのゴミはHeadSpace2のGoogle Analyticsコードを挿入するモジュールが吐いているもので、
以前Google Analyticsのコード挿入をHeadSpace2に変更していたので、原因はすぐに分かった。

一度有効にしたら元に戻せないサイトモジュール

HeadSpaceのGoogle Analyticsサイトモジュールを無効にすれば解決のはず。
ところが…
HeadSpaceのサイトモジュールからGoogle Analyticsのチェックを外しても、
IDの部分を消しても、サイトには表示され続ける。(消えない)

おかしいな?と思ってプラグインを無効にしてみても、
やっぱり消えない

変更が保存されないってどういうことよ?
と苛立ったあたしがやっちまったのが「HeadSpaceを削除」ボタンをぽちっと…。

これでようやくHeadSpaceが吐いてた間違いコードを削除できたわけです。
ブログのトップに表示されるゴミも綺麗に消えました。

削除したらホントに全部消える

考えてみれば当たり前なんだけど、HeadSpaceで設定していた他の項目も
綺麗さっぱり消えてるわけで…。
moreのテキスト、Description、Keywordsなんかがまっさらに。

やっちまったなぁcharacter00129.gif

データベースはWordPress Database Backupで定期バックアップしてる。
でも毎日はやってない。
(よく何かのエラーでメールで送信されずにサーバーに溜まってたりするから)
最新のバックアップは5月2日だ。
更新頻度が落ちまくってるお陰でバックアップから漏れた記事は少ない。

phpMyAdminでインポートしよう。そうしよう。
丸ごとインポートしたら、せっかく消したHeadSpaceのサイトモジュールも復活しちゃうから、
ここは必要なテーブルだけ選んでインポートしよう。

phpMyAdminでインポートしよう

ということで、sqlファイルを開いてみたわけだが…
この大量の文字の中から必要なところを探すとか無理(´ー`)┌フッ

そこで思いついた。
一度他のデータベースにインポートしちゃおう。
このブログが動いているハッスルサーバーではデータベースが2個利用できる。
MySQL4とMySQL5で、MySQL4の方は今使っていない。
そこにインポートしてphpMyAdminで必要な部分を探せばいいんじゃーん♪

headspaceが付くものを検索したところpostmetaに必要なデータを発見。
それらをエクスポートして保存。
MySQL5の方(このブログの方)のphpMyAdminを開いてインポート。

ひゃっほーい♪
moreのテキストとかdescriptionとか全部取り戻せたよーhappy0025.gif

インポートとエクスポートで失敗

ここで問題を発見。
moreのテキストやdescriptionなんかが全部消えてから、
HeadSpaceが作ったテーブルの名前を調べるために
最新の記事にだけmoreのテキストとdescriptionとkeywordsを入れて
保存しておいたんだよね。
でもインポートしたらその部分が消えてた。

phpMyAdminのインポートって追加だよねって
勝手に思い込んでたけど、そうじゃないのね。
よく分からないけど、丸ごとインポートしなくてよかった…。
投稿まで数日前にタイムスリップしちゃうところだった。

そしてこの記事を書いていて気付いた。
関連記事を手動で指定できるTerong Related Linksプラグインが
正常動作していない。
投稿画面の上に表示される「Related Links」ってリンクはある。
でもカスタムフィールドで選択できない。

オカシイ…。
そういえばインポートしようとしたとき、テーブルの重複エラーが出て
1062だったかな?とにかくエラーでインポートできなかったんだ。
あちこち検索していたらDROP TABLEにチェックを入れてないと
そのエラーが出るってのを見つけたから、
エクスポートの時にDROP TABLEを追加にチェックを入れたっけ…。

m9っ`Д´) それだ!

phpMyAdminエクスポート設定解釈」によると、
DROP TABELEを追加というのは
インポート時テーブルを作る前に一旦前のテーブルを削除するんだそうです。

つまり、headspaceの部分だけのpostmetaに入れ替えてしまったんだね。
知らないって恐ろしい…orz

既存のテーブルに追加したいときは
INSERT IGNORE を使用する」にチェックを入れてエクスポート。

多くのレコードの INSERT でキーワード IGNORE が指定されていると、テーブルの既存の PRIMARY または UNIQUE キーと重複するレコードはすべて無視され、挿入されません。IGNORE が指定されていない場合に既存のキー値を重複して持つレコードがあると、挿入処理が中断されます。

ということで、今あるpostmetaを消さずにインポートするために
INSERT IGNOREを使用するにチェックを入れて
エクスポートしたらエラーが出ずにデータを追加できた。

勉強になります。。。

っていうか、全くphpMyAdminを知らないのに
カンだけでいじってるからこういうことになるのね…orz
勉強します…orz

それにしても、たったこれだけの作業に1日かかるって…
どんだけ無知だよ…il||li _| ̄|○ il||li
手を付けたとき「これなら簡単だ」と思ったのは罠だったのねanimal0017.gif


この記事は 2009年05月8日金曜日 の 1:40 AM に書きました。 
この記事のフィードはRSS 2.0で購読できます。

« | »

6 Comments for this entry

  • GOGO

    えっとえっと全部読んだら頭がシューシュー言ってます(爆)

    って気が付いたんだけど、もしかして俺のせい?( ̄▽ ̄)!!アワワ

    軽い気持ちで。。。^^;

    丸1日ご苦労様です。

    カンで解決出来るのは才能ですww

    • 唯奈

      >GOGOさん
      書いてる方も頭がシューシュー言ってます(爆
      GOGOさんに教えて頂かなかったら
      Google Analyticsって数値変ねー…
      で終わっていました。
      感謝です!
      お陰様でいい経験ができました。
      MySQLももっと勉強します(`・ω・´)

  • 国際結婚SE

    うっわー!
    それは災難でしたね。
    お疲れ様でした。

    状況から見て、私だったら焦るし、パニクッちゃうので、1日で復旧できたって、凄いと思いますよ。

    • 唯奈

      >国際結婚SEさん
      DROP TABLEの意味を知らず、勝手に「使われなくなったテーブル」か何かだろうと思い込んで、チェックを入れたところから藻掻くことになりましたw
      でも今回のことがなければあたしはphpMyAdminを微塵も理解しないままだったでしょうし、何かトラブルが発生しても対処できなかったでしょう。
      いくらプラグインで自動バックアップしてても、データを追加するとか、テーブルを削除してからとか、そういう操作には対応できませんからね。
      いい経験になりました。
      疲れたけど…w

  • cyah

    まぁ「物作り」をしていると、時間を忘れてしまうケースはよくある事です。(うちみたいにレンタルブログでやっているところでも、長文でリンクが多かったりすると「バグ取り」で結構時間がかかる場合がありますから。)
    特に「手直し」は作業中に頭に血が上っているケースが多いですからね。どうもお疲れ様でした。(内容に関してはその手のスキルが無いもので、ほとんど理解出来ませんでしたが(笑))

    • 唯奈

      >cyahさん
      (´▽`*)アハハ
      確かに「手直し」は頭に血が上ってますねw
      うんうんw
      ブログテンプレートの修正とかってもうホントやばいですよね。
      全部自分で作ったCSSの方がまだやりやすい気がします。

ADgger

堅実に儲かるアフィリエイト