さくらのレンタルサーバでMySQLを4→5にしてWordPressのバージョンアップを可能にする方法

仕事の関係でほぼ全部のブログが更新停止状態に陥っていて、こちらは全く手つかずとなっていました。
しかしなんとか目処がついたので手を加えようと思ったのですが、いつのまにかWordpressのバージョンが2.9.1になっていました。それだけなら更新すればいいのですが、私がさくらインターネットのほうで使っているWordpressは更新が出来ません。理由は調べればすぐにわかって、さくらインターネットでWordpressを設置した時には、MySQLが4.0だったのですが、最新のWordpressでは5.0以上でないと対応しないみたいなのですよね。で、このままのバージョンで放置ってのも考えましたが、この前みたいにセキュリティホールが生じた時にバージョンアップが出来ないというのも怖いのですよね。

■参考:WordPressのセキュリティ問題で大量のハッキングが発生。次はあなたのブログ?

なので、思い切ってチャレンジしてみることにしました。

SQLファイルのエクスポート→MySQL4削除&5構築→SQLファイルのインポート

これについてはいろいろと書いてくれた方達がいらっしゃったので、めんどくさくはあったものの、うまくいきました。
主に参考にさせていただいたのは、以下のサイト様。

さくらインターネットのレンタルサーバで WordPress 2.9 へアップグレードできない方へ – Bamboo Studio * バンブースタジオ | Blog™
さくらインターネットでWordPressを2.9にアップデートするためにMySQLをバージョンアップ – カイ士伝

こちらで画像入りで詳細に解説されているので、Wordpressを自分で構築できた人ならこれを見ながらやれば、そこまで難しいところはないと思われます。気をつけるところは、以下の点でしょうか。

 ・「日本語 – Japanese (utf-8)」を必ず選択すること
・エクスポート時にチェックする項目を要確認(特にテーブルを全選択するのは忘れずに)
・wp-config.php ファイルも忘れずに書き換え
・「作成するクエリの最大長」は”50000”になっていると思いますが、これは”100”くらいにしたほうがいい(理由は後述)。

あとは、念のためにSQLのエクスポートが失敗していた場合に備えて、Wordpressのほうからもあらかじめエクスポートをしておきました。これならかなり最悪の状態になったとしても、今まで書いてきたエントリーだけはどうにか救済されるので。

SQLファイルが大きすぎてインポートできない場合

ただ、このまますんなりエクスポート→インポートですんなりいけばよかったのですが、今まで使い込んだブログの場合、出力されるSQLの容量もかなり大きくなります。しかしここのデータベースでは、どうやら8M以上のデータをインポートできないようなのですね。そこでそれに対しての対策が必要になってきます。ちなみに私がTimestepsで出力した容量は、350MBくらいになっていました(クエリの最大長を100にした場合)。

方法は主にふたつあり、まずは「bzip2」というフリーソフトを使うもの。

MySQLを4から5へ(さくら+WPの場合) « Waviaei

これは、コマンドラインを使ってSQLをインポート可能な形式で圧縮する方法です。自分はさくらのレンタルサーバで2つほど借りているのですが、データベースの容量がそれほどでもないほうは、こちらで7M程度に圧縮できたので、それをインポートしたらうまくいきました。

しかし問題は、前述のように、出力したSQLの容量が大きく、「bzip2」を使っても8MB以下に圧縮できない場合なのですよね。その場合は「BigDump」というものを使います(もちろん容量が少ないものでも、こっちからやってもOKですが)。

WikiCookRecipe日記: MySQLインポートファイルがでかすぎる時には BigDump を使ってみよう!
BigDump: Staggered MySQL Dump Importer(dbデーターの分割インポート) | さんきゅう堂的_STYLE

使い方は、「BigDump.php」ファイルを開いて、該当箇所(// Database configurationのところ)の設定を上記のサイトを参考に自分用に書き換え、それを当該サーバの適当な箇所にアップロードし、同じところにさきほどエクスポートしたSQLファイルもアップロードします(容量があるので多少時間がかかると思います)。そこから「http://(bigdumpファイルを置いたアドレス)/bigdump.php」にアクセスすれば、BigDumpの画面が出ますので、そこの○○.sqlのところにある「Start Import」を選択すれば、インポートが始まります。
ここで気をつけないと行けないのは、エクスポートの際に、作成するクエリの最大長が大きすぎると、受け付けてもらえないこと。故に先ほどのように最初から”100″あたりで設定しておくと無難でしょう。

そして、MySQLの更新は無事完了し、その後自動アップロードでWordpressの更新を行いましたが、無事成功。特に現時点ではDBが原因の問題は起きてはいないようです。

少し面倒ですし、データベースの入れ替えは下手をするとデータの消失の危険もあるので腰が重くなりがちですが、バージョンアップが出来ないとセキュリティホールを狙われる可能性が高いので、目処がついたらこのように思い切ってバージョンアップをすることをおすすめします。それでもデータ移行失敗のリスクを最低限に抑えたい人は、もうひとつサーバ借りて、もとのデータを取ったままそっちに移し替えるという手段もありますけどね(かなりめんどいけど)。

スポンサーリンク
お仕事依頼について About contact
お仕事依頼について About Sitemap contact