Warning: count(): Parameter must be an array or an object that implements Countable in /home/site-ichijo/www/si.1dhcuttqmvpl3ic/wp-includes/post-template.php on line 284

WordPress2.9へ、MySQL4.0から5.1へ@さくらのレンタルサーバ

WordPress2.9がリリースされました。2.8.x系からのプリメジャーアップデート(というのかな?)だけあって、要件がMySQL4.0から4.1.2へと変更されています。
私はさくらのレンタルサーバ・スタンダードプランを利用していますが、今までは特に必要もなかったのでVersion4.0のままでした。5.1も使えましたが、4.0からアップデートするためには一度データベースを削除し、5.1を選択して作り直す必要があったため放っておいたわけです。今回WordPress最新版(2.9)の要件が変わったのを機にMySQL5.1へアップデートしました。

さくらのレンタルサーバにおいての、データベースアップデートについてメモメモ…φ(._. )

サーバコントロールパネルから「データベースの設定」を選択
拡大
まずはサーバコントロールパネルにログインし、「アプリケーションの設定」メニューの中の「データベースの設定」を選択します。

「データベース バージョン」を確認
拡大
表示される「データベース バージョン」を確認します。さくらのレンタルサーバであればおそらく「4.0」か「5.1」かと思います。「5.1」であれば変更の必要はありません。
# さくらのレンタルサーバにMySQL5が追加されたのがたしか2009年2月5日だったので、それ以降に利用開始されている方は標準でMySQL5になっているかもしれません。

データベースバージョンが「4.0」でWordPress2.9へアップデートしたい場合、要件を満たしていないので、まずはMySQLを「5.1」へアップデートする必要があります。
MySQLのアップデートは一度現在のデータベースを削除する必要があります。データベースはブログ記事・コメントその他コンテンツもろもろの実体とも言えるもので、「そのブログ」すべてが詰まっているといっても過言ではありません。扱いはくれぐれも慎重に。

先にこの後の流れをまとめると、

  1. 現在のデータベースをエクスポート
  2. 必要にあわせてエクスポートしたデータベースファイル(XXX.sql)を編集
  3. 現在のデータベースを削除
  4. 新しくバージョン5.1でデータベースを作成
  5. 必要にあわせて新しいデータベースのセットアップ
  6. データベースファイルをインポート
  7. 新しいデータベースにあわせて、wp-config.phpを編集、アップロード
  8. ブログを確認
  9. WordPress2.9へアップデート(アップデートの前にバックアップもお忘れなく)
  10. ブログを確認

となります。赤字で示した部分が、ブログを閲覧できない区間です。
作業中は「ただいまメンテナンス中です」などといったページを作って、ファイルマネージャーの該当フォルダ(ディレクトリ)の「ウェブアクセスの設定」からindex.htmlやindex.phpより優先表示させてあげると手軽に.htaccessで制御できる上、訪問者に対しても親切だと思います。
もちろんさくらのレンタルサーバでなくても自分で.htaccessファイルを作って作業中サーバの該当ディレクトリに置いておけばOK。
あと可能であれば、アクセスの少ない時間帯に行えればモアベターでしょう。

1. 現在のデータベースをエクスポート

それではまずは現在のデータベースのエクスポートから。
サーバコントロールパネルの「データベースの設定」からphpMyAdminのバナーをクリックし、その先でログインします。
データベースのエクスポート設定。「エクスポート」タブの「DROP TABLEを追加」「IF NOT EXISTSを追加」「ファイルを保存する」にそれぞれチェックを入れる
拡大
ログインしたらとりあえず左側のデータベース一覧を確認。WordPressを一つしかインストールしていない場合、スクリーンショットと同じだと思います。複数個、またはWordPress以外にデータベースを利用している場合はそれらも表示されていると思います。

エクスポートは右側上部メニューの「エクスポート」タブを選択。
「構造」の「DROP TABLEを追加」「IF NOT EXISTSを追加」にチェックを入れます。そして下方の「ファイルに保存する」にチェック。そして「実行する」をクリックするとエクスポートが始まります。適当な場所へ保存してください。

2. 必要にあわせてエクスポートしたデータベースファイル(XXX.sql)を編集

さて、このあとの作業は人によって変わってくるみたいです。今回こちらのサイトさんを参考にさせていただきました。大変分かりやすかったです。多謝!

MySQLを4から5へ(さくら+WPの場合) – Waviaei
WordPress2.9のシステム要件がMySQL4.12以上になった為、慌ててデータベース移行。 – 馬鹿ラッチ2.0

WaviaeiのToruさんの場合は、ダウンロードしたSQLファイルの冒頭部分(最初の20行ほど)に

CREATE DATABASE ‘foo’;

の一文があったとのこと。私の場合は馬鹿ラッチ2.0のボーノさんと同じく書かれていませんでした。
つまり、ダウンロードしたSQLファイルを編集する必要がなかったのでエクスポートする際に圧縮してしまっても良かったわけです。
これからエクスポートされる方は、まずは圧縮せずにそのままエクスポート、そして内容を確認されてみるといいと思います。

その上で、編集する必要がなく且つ、SQLファイルのサイズが8MBを超える方はもう一度今度は上記スクリーンショットの「ファイルを保存する」で “bzip形式” を選択し、圧縮してエクスポートし直すと手間が少なく済むと思います。

エクスポート後にSQLファイルを編集し且つ、ファイルサイズが8MBを超える方は自分で圧縮する必要があります。その場合は上記のWaviaeiさんの記事を参考にbzip2をインストールし、.bz2ファイルに圧縮してください。

SQLファイルを編集される場合は、事前に念のためコピーを取っておくことをおすすめします。

3. 現在のデータベースを削除

そして覚悟が決まったら(笑)、phpMyAdminはログアウトし、データベースを削除します。
サーバコントロールパネルの「データベースの設定」の画面にて「データベースを削除」のボタンがあります。

4. 新しくバージョン5.1でデータベースを作成

削除後、新たにデータベースを作り直します。(この間のスクリーンショットを撮り逃しました…)
作成の際に、データベースバージョンは「5.1」を選択します。パスワードも変えるチャンスなので変えたい方はどうぞ。私もこの機に以前より複雑なものへ変更しました。

新たに作成したデータベースバージョンを確認
拡大
作成したらバージョンを確認します。また「データベース サーバ」のアドレスが変わっていると思います。そこに注目しておいてください。あとでWordPressの設定ファイル、wp-config.phpを編集する際に必要になります。

5. 必要にあわせて新しいデータベースのセットアップ

それでは新しいデータベースにログインします。
「操作」タブから「照合順序」を設定
拡大
データベースをインポートする前に準備があります。「操作」タブを選択、「照合順序」にて文字コードを選択してください。WordPressの場合だとUTF8の場合が多いと思います。これは人によって変わるので自分のを確認してあわせてください。
UTF8には utf8_general_ciutf8_unicode_ci の2つがあります。自分はおおざっぱに utf8_general_ci は速度に優れ、utf8_unicode_ci は正確性に優れると捉えていて今までは utf8_unicode_ci を選択していました。でも自分のブログでは utf8_general_ci でも問題なかろう、ということでこの際に変更しました。
utf8_general_ci と utf8_unicode_ci についてはこちらに参考記事がまとめられていますのでご覧ください。

MTのデータベースをMySQL4からMySQL5へ移行 in さくらのレンタルサーバ – 45式::雑記
# 「MySQL5データベースの作成」のところ

6. データベースファイルをインポート

照合順序を設定したらいよいよデータベースのインポートです。
「インポート」タブを選択し、エクスポートしたデータベースファイルを選択。文字セットも合わせて
拡大
「インポート」タブを選択し、エクスポートしたデータベースファイルを選択。文字セットも合わせて確認します。そして「実行する」。
量によりますが少し時間がかかります。無事にインポート完了すればその旨が表示されます。

7. 新しいデータベースにあわせて、wp-config.phpを編集、アップロード

そして今度はWordPressの設定ファイル、wp-config.phpを編集します。
データベースのサーバアドレスがおそらく変わっているでしょうから、新しいものに書き直しておきます。

define(‘DB_HOST’, ‘foo.ne.jp’);

パスワードも変更された場合は設定し直してください。
そしてアップロードし、既存のと置き換えます。

8. ブログを確認

無事に完了していればこの時点でブログにアクセス、今までと同じように表示されていると思います。

9. WordPress2.9へアップデート(アップデートの前にバックアップもお忘れなく)

WordPress2.9へのアップロードは簡単です。自動アップデートで無事に出来ました。
その際には事前にWordPressからも念のためバックアップを取っておくといいでしょう。
# ダッシュボード左画面の[Tools]-[Export]から。日本語版もおそらく同じ。

10. ブログを確認

ブログを確認し、表示不具合などがなければOKです。おつかれさまでした。
もし表示が崩れているとか、プラグインが動かないなどがあった場合、テーマやプラグインがWordPress2.9にまだ対応していない可能性があります。

MySQLをアップデートしたおかげか、照合順序を utf8_general_ci にしたおかげかその両方か分かりませんが、確かに表示速度は上がったと思います。全記事一覧表示で実感しました。

また今回調べたのは「波ダッシュ(~)」問題。こちらを参考にさせていただきました。

MySQL 4 から 5へ – dogmap.jp
# 「データのインポート」のところ。
WordPress Plugins/JSeries ≫ Force Wave Dash
上記ページのリンク先。「波ダッシュ」問題に詳しい。

私のブログでは過去記事のほとんどはWindows XPからでしたが、文字化け(「?」になる)はほとんどありませんでした。Macから書き込まれたものが一部文字化けしていましたがたいした量ではなかったので気づいた部分についてはアップデート後に直しておきました。
それにしてもこんな問題があったんですね。

  • Posted at 23:39 on Dec 22, 2009
  • | 3 Comments

3 Responses

  • 現在、この投稿へのコメント/トラックバックは受け付けていません。

  • Toru says:

    どうも、初めまして。 僕の書いた記事が参考になってなによりです。書いた本人はわかりにくい記事になってしまったなぁ、とか思っているのですが(汗)、ともかく、上手くいってよかったですね!やっぱりDBをいじるとなるとちょっと怖いですもんね!

  • >> Toruさん
    はじめまして、こんにちは。
    こちらこそ本当にありがとうございました!
    いえいえ、とても分かりやすくて助かりました。
    ほんとDB関連の作業はそう頻度がないだけに気持ちも慣れないですね。(笑)

  • […] さらに詳しく具体的な作業が載ってるサイト ■ WordPress2.9へ、MySQL4.0から5.1へ@さくらのレンタルサーバ […]