Movable Type 4.0への移行にまぎれてサーバの移転をやっちゃってばたばたしてる話。
ばたばたしてる間に4.01がでちゃってますが、今回はちょっと前の話、MySQLのデータを移行できなかったことを紹介します。
ここではサーバはXREA+を利用しています。
XREAではMySQLが使えて、バックアップや復元はサーバの管理画面からできるようになっています。
以前、MTの2.6→3系に新規インストールでバージョンアップしたときには、ブログのエクスポート&インポートでデータを移しました。これは、インポートでの読み込みがエラーが多くて苦労したのでした・・・。
そこで今回はDBのデータを丸ごと移行する方法でチャレンジ。旧サーバでデータベースを保存、新サーバで復元。MTへアクセスすればブログのデータがばっちり見えて、アーカイブマッピングなどのデータもそのままあるはずだから、再構築すればOKに近い状態になるはず。
ともくろんでいたのですが、そうは甘くなかったです。
管理画面にログインするところまでは期待通り。でも、ものすごい文字化け。
旧サーバのMySQLのデータベースの文字コード(EUCで作成していた)と、新サーバに作ったデータベースの文字コードがあわないのかなとか、データベースに入ってるデータの文字コードとMTとの間でうまくいってないのかもとかで、mt-config.cgiのPublisCharsetの組み合わせをあーだこーだ変えてみましたがうまくいきません。
文字コード関連で調べていると、XREAでのMySQLのバックアップ&リストアに関して、こんな情報を見つけました。
MySQLバックアップ時の文字コードトラブル - うるめねっと技研 - Linux派 -
XREAのMySQLフルバックアップ手順 - うるめねっと技研 - Linux派 -
1. XREAのWeb管理画面にログインして[ホスト情報登録]→[SSH登録]
2. 5分ほど待つ
3. SSHクライアントでs???.xrea.com(自分のサーバ)に接続。ID、PassはWeb管理画面と同じ
4. シェルからダンプコマンド入力→ mysqldump -u ユーザーID -password='データベースのPass' -opt データベース名 > /virtual/ユーザーID/mysql.dump
5. シェルからファイル圧縮→ gzip mysql.dump
6. SSHをログオフ
7. FTPでmysql.dumpファイルをダウンロード。上のPathではFTPのルートにできている
要するに、管理画面でmysqldumpをするときの文字コードが影響しているので、sshにてコマンドラインで文字化けしないように文字コードに関するオプションを明示的に指定して、バックアップをとる必要があるとのこと。
ではコマンドラインで・・・とsshでログインし、mysqldumpしてみますがダメ。
cannot redirect output
みたいなメッセージがででいて、dumpファイルができません。
ちょっとしたコマンドでもファイルへのリダイレクトがダメだったので、サーバの設定で許可されてないような感じです。「どうせ、旧サーバでのアップグレードついでにテンプレートも標準にしたし、なくなってもいいや」と深追いはあきらめ、旧ブログからのエクスポートファイルの新サーバへのインポートで対応することにしました。
続く