WPの引っ越し1 データベース(MySQL)操作のあれこれ
ロリポのデータベースは重過ぎる
これは過去の苦労話になるのですが、以前使っていたレンタルサーバーのロリポップのお話。
低料金でいいのですが、データベース(MySQL)が非常に重くMTやWPは正直言って使えたものではありませんでした。
特にMTの重さは尋常ではなく、管理画面でメニューをワンクリックするだけで1秒以上のウエイトは当たり前。
ソースを少し編集してプレビューするだけで10秒以上かかっていました。
ほんの少し、短い記事を書いて再構築するだけで5分以上かかり、頻繁にエラーを吐き出す。
私は思いました。これは無理だと。
そういった流れで(少なくともMTより軽かった)WPを使うに至ったのですが、それでも重いという印象は変わりませんでした。
ロリポップ間のデータベースサーバー移動
契約更新の時期が迫るにつれてサーバーの引っ越しを考えるようになったのですが、
やはり面倒な話なのでなんとかならないだろうかと思い、少し検索するとUnbridled blogさんに
ロリポのMySQLサーバー移動の記事がありました。
昔のMySQLサーバーは共有している人が多めなので
新しい空いているMySQLサーバーに引っ越せば軽くなるというものです。
MySQLのバックアップ
細かい操作は端折るとして、ようはMySQLをphpMyadminでバックアップ(エクスポート)し、
復旧(インポート)するという話なのですけれど。
ひとまずlucky bugさんの記事を参考にしてバックアップ作業を開始してました。
phpMyadmin上ではインポートの容量に上限がある
ここで問題だったのがロリポップのMySQLではインポートの容量にに上限があるということ。
上限はどこのMySQLにもあるのでしょうけどロリポップは2MBだったような。
ちなみにさくらは8MBです。
うろ覚えですけどかなり少ない容量だった気がします。
それに対してエクスポートした私のsqlデータは28MB。
サイトの規模に不釣合いなデータサイズです。
原因はWPのアクセス解析プラグインで、MySQL上にかなり大きなサイズのテーブルが作られていました。
というわけで、私のような小規模のサイトでもアクセス解析を導入していると
上限まで簡単に到達してしまいます。
やはりMySQLをそのままインポートすることはできそうにありません。
(アクセス解析関連以外をエクスポートしてみましたが、それでも14MBもあり、やはり断念)
ロリポップの助け合い掲示板ではSQL分を適切なところで分割する、とのアドバイスがありましたが、
SQLの知識がない私ではどこから切ればいいのか皆目検討がつきません。
失敗(1)ブラウザ上からデータベースを操作できるSQL Buddyを使ってみる
これはレンタルサーバー上で上限があるのではなく、操作インターフェイスであるphpMyadminで
上限を設けているのかな、 とも思い他の操作方法を模索してみました。
しかし私にはコマンドラインで操作するなどという方法はできるはずもありません。
ネット上をしばらく検索していると、IDEA*IDEAさんで紹介されていたSQL Buddyに注目。
ブラウザ上から操作してみました。
使い方はbojovs logさんの記事を参照。
エクスポートは成功。
容量は46MB?
phpMyadminでエクスポートしたデータより一回り大きい。
なぜ?WPのテーブル以外に何かあっただろうか?わかりません。
仮にこれをphpMyadmin上にて読み込むために2MBで分割していったら
単純計算で23箇所も切らなくてはならない。
それはありえない。まともに読み込めるとは思えない。
28MBだろうが46MBだろうがインポートできないことには変わりはないのでスルー。
そのままSQL Buddyでインポートできるか実験。
これは失敗。
ホワイトアウトしてしまう。
やはり容量が大きすぎるからでしょうか。
数回試してみても一切読み込まず。
インポートはできないとの結論に。
失敗(2)WPのデータベース用プラグインWP-DBManagerを使ってみる
phpMyadmin上もSQL Buddyでも容量的にインポートするのは無理なようだったので、
WPのプラグインでそういった類のものはないかと調べてみることに。
まず一番最初に使ったのがWP-DBManager。
ですが…。
WP-DBManagerを使うに当たってサーバー上のmysqlパスとmysqlダンプパスが必要なんですが、
ロリポップではそれがどこかわからずこれまた断念。
エクスポートすらできない結末。
(データベース関連はサポート外のため問い合わせるのもためらった)
失敗(3)WPのデータベース用プラグインWordPress Database Backupを使ってみる
次にWordPress Database Backupを使ってみました。
これはエクスポートは上手くいったのですが、インポートにこれまた5MB(うろ覚え)の上限があり断念。
(補足:sqlデータは通常サーバー上の任意のフォルダに作成されるのでFTPにローカルに保存することも可能でした)
失敗(4)MySQLのバックアップを諦める
ロリポップのMySQL間の引っ越しにあたり、データベースのバックアップは諦めました。
WPの記事データだけをバックアップして引っ越しを決断。
ロリポップのユーザー管理画面でデータベースを削除。
新たにデータベースを作成。
ここで引っ越し先のデータベースのサーバーの番号を選びます。
私の時はmysql39となぜか40が二つありました。
mysql40を選びデータベースを作成。
ダメもとでsqlデータをインポートしようとるすもやはりエラー。
潔く諦めWPをインストール。
WPをアップロード中一度もエラーが出なかったのでちょっとはマシなのか?と一瞬思いました。
続けて記事データをインポート。
一連の作業を終え、MySQLサーバーの引っ越しを完了。
これによって少しは軽くなるのかな、と思っていたら。
変わらない。
重い。
マシになったか?と思ったのは勘違いだったようです。
そもそもアップロード時にそんなにエラーでるのもおかしな話。
他に何もしていないのに。
この後もう一度データベースを削除してmysql39で同じ作業をするも結果は変わらず。
これはMysqlサーバーの引っ越しではなく、レンタルサーバーそのものを引っ越ししなければ
状況は改善されないとの結論に至りました。
次回:レンタルサーバー選びに続く