あけましておめでとうございます、という話はいずれまた。
MySQL4からMySQL5のデータ移行をしたくてしたくてしょうがない
に書いたとおり、@niftyホームページサービス・lacoocanラクーカンスタンダード(旧ラクーカン)がMySQL5に対応して久しい。これをupdateしない限りは、wordpress本体も最新版に更新できず、サクサクと最新デザインのテンプレートにも変えられず、セキュリティにも問題が、と悪い事ずくめ。
しかしDB移行にともなう併用期間が設定されており、もし失敗したらどうしようと怖気づいてずっとやっていなかったのだが、幸い2014の正月休みは長い!旅行にいってもいいくらいだ!関西だろうが海外だろうが行きたい放題!なのを我慢したのは、ひょっとしたらこの作業ができるかな、と淡い期待があったから。
1/2、深夜現在、無事移行完了しましたーーー!ぱちぱちぱちぱち。
このあと、WordPress 2.8.6 → 3.8にup(!!そんな離れ業できるのか?!)
新テンプレに変更。
までやる目論見だが、一旦ここまでの作業でハマッた点を備忘メモ。
まず作業は、MySQL4からMySQL5のデータ移行をしたくてしたくてしょうがない にあるリンクどおり、
の指示どおり新DBを作成、次に
をみながらMySQL4のDBからデータを引っこ抜き、MySQL5へ投入、最後にwordPressが見ているDBを切り替え(これも上リンクの手順どおり、wp-config.phpを修正するだけ)という流れ。
しかし何箇所か引っかかってしまったので順に説明する。
1)phpMyAdminにログインできない!?
結局、一番時間を費やした問題がこれ。新しくMySQL5のDBをつくったので、今MySQL4と5の両方を私は使えるはずなんだけど、はて、どうやってphpMyAdminから操作するのか?が全くイメージ湧かなかった。
phpMyAdminの中に、複数DB設定するようなメニューもないし・・・新DB名とパスワードを入れても”#1045 – Access denied for user”というエラーで入れない。
という記事を見つけて、なるほどそういうこともできるのかーとそっち方向の手段でいろいろさまよったけどダメ。
結局、@niftyの管理画面を見ていたら、「簡単インストーラー」のところにphpMyAdmin(MySQL5対応)というメニューが出来ているのを発見!もしかしてこれ?!と入れてみたら当たりでした・・・
つまり、MySQL4用と5用で別々のphpMyAdminをインストールさせてくれるんですね。(DBサーバの所在とか関係してるんだろうな)
早く気づけよ、という感じですが・・・上の赤文字のエラーがログインまわりっぽかったからなぁ。
2)データサイズが大きすぎてインポートできない
MySQL4からMySQL5のデータ移行とMovable Type5(MT5)の導入◇LaCoocan(ラクーカン)2012年8月
の方が懸念されているとおり、なーんにも考えないで全てのテーブルをexportしてimportしようとしたらエラー。これは当然といえば当然で、phpMyAdminのインポート画面に(最長: 8,192 KiB)とちゃんと書いてある。これ以下のサイズになるように、exportする際、テーブルの数を加減した。つまり、全部を一気に落とさないで、3テーブルずつとか、4テーブルずつとか。
1テーブルで最大長を超えてしまうものは、zip形式にしてからupすれば、phpMyAdmin側で解凍してくれたようで無事インポートできた。
3)TYPE=MyISAM のエラー
最大超以内のデータをインポートしようとすると、「CREATE TABLE IF NOT EXISTS・・・」「#1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘TYPE=MyISAM AUTO_INCREMENT=・・・」てな感じのエラー。
翻訳すると、SQL文がうんたら、MySQLのバージョンがうんたら言ってるので、TYPE=MyISAM AUTO_INCREMENT の部分にあたりをつけてgoogle先生に質問。すると
MySQLバージョン4.x以前からエクスポートしたsqlファイルはTYPE = MyISAM を ENGINE = MyISAM に変更する
とそのものズバリな記事が!ありがとうございます。
exportしたデータを開き、この箇所を置換。1テーブル1箇所ずつ。zipにしたデータは、修正後に改めて圧縮した。
——————–
はい、以上で無事、新しいDBに移行できたようだったので、最後wp-config.phpを修正したのだが、4箇所DB情報を直すべきところ、3ヶ所だけ直してupしてブログにアクセスしたら、見事「DBに接続できません」とエラーが出た。コリゃウッカリレベルなので割愛。
そこだけ直したら無事表示され、この記事も無事に新DB側に書き込まれているようだ。
めでたしめでたし。
[…] やっとMySQL4からMySQL5へデータ移行完了 […]