WordPress がMYSQL 4.1でないと更新できなくなるらしい
なんてこった。今使ってたデータベースはMYSQL4.0だ。
これではセキュリティリスクになってしまうんだぜ。
ということで、データベースサーバーをMYSQL5の方に切り替える。
1. メンテナンス中にする。
2. データベースのバックアップをする
3. データベースを移転する
4. データベースにSQLを入れなおす
1. まずメンテナンスページ中にする
全部メンテナンスページにリダイレクトさせると、検索エンジンがクロールして検索結果が全部メンテナンスページになったら不味いのでHTTP レスポンス503を返すphpを用意する。(アクセス制限しすぎて検索エンジンまで弾いてたことに今回気づいたw直したけどね)
apache2.2なら.htaccessで[R=503,L]でリダイレクトすれば下記ファイルは必要ない。
このサーバーはapache1.3なのでmaintenance/の下に503.phpを作成し、下記の内容を記述する。
<?php
header ('HTTP/1.0 503 Service Temporarily Unavailable');
include(dirname(__FILE__) . '/index.html');
?>
※別に外部から読む必要もないので、php内に直接メンテナンスメッセージを入れといてもok。
.htaccessに全部503へリダイレクトさせるように設定する。
3行目は、リダイレクト後の無限ループを回避するため必須。
RewriteCond %{REMOTE_ADDR} !=192.168.0.1
RewriteCond %{REQUEST_FILENAME} !503.php
RewriteRule ^.*$ /maintenance/503.php [R,L]
2. データベースのバックアップをする
phpmyqdminにログインして、全データエクスポートする。
このときに、テーブル毎に違う文字コードを用いている場合、文字コード毎に出力した方が楽。
3. データベースを移転する
データベースを切り替える。
もちろんデータベースサーバー名が変わるので、必要な部分は全部書き換える。
MYSQL5はSET NAMES “文字コード”しないとやばいぜ?
自作プログラムでデータベース使っている人いたら、気をつけて。
4. データベースにSQLを入れなおす
phpmyadminでSQLをインポートする。
エクスポートしたデータの文字コードがujisの以外の場合、エクスポートしたSQLファイルを少々加工した方がいい。
ujisのコメントが邪魔すぎる。これを全部消す。
手動で消していたら日が暮れる。
下記の正規表現でコメント部分を一括置換で消す
^--.*
上の方に下記部分があるならこれも消す。文字化け原因になる。
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES ujis */;
後はセレクトボックスでMYSQL4互換を選択して、対応する文字コードを選んでインポートする。
これにて、データベースをMYSQL5に変更完了。
これでWordpress 2.9にUpdataできるようになる。

何言ってるか分かんねぇよw
コメント by Sigs — 2009 年 12 月 20 日 @ 16:09
Sigsのブログシステムもアップデートしてやったんだぜ。
画像のアップロードが若干変わった
コメント by Shany@Cerberus — 2009 年 12 月 20 日 @ 16:12