MySQLのエクスポートでMovable Typeを引っ越しする方法
レンタルサーバー引っ越し時にMovable Typeの移転をする方法はいくつかありますが、Movable Type上で「エクスポート」を使った場合はテンプレートやタグなどのデータが落ちてしまいます。また「バックアップ」の場合、復元に成功した試しがありません(オレ調べ)。
ということで、MySQLデータベースをまるっとエクスポート→インポートするのが楽、かつ確実なんじゃないかと思うので、その方法をメモしておきます。シェルを解放していないサーバー&コマンドラインに慣れていない人を想定し、全ての操作はWebベースの管理ツール「phpMyAdmin」上で行います。
(1)インポート先のphpAdminで、インポートの仕様を確認
インポート先のサーバーでデータベースを作成し、phpMyAdminにログインします。そしてデータベースを選択→[インポート]をクリックし、インポートの仕様を確認します。確認するポイントは以下です。
(1)対応している文字コード (2)最大ファイルサイズ (3)圧縮ファイルに対応しているか
文字コードはUTF-8を利用します。phpMyAdminでログインする際、[日本語(UTF-8)]を選んでログインします。UTF-8非対応なサーバーはいろいろ面倒が起きそうなので、利用しないのが無難だと思います。
チカッパ! の場合。5012KBまで対応。圧縮ファイル非対応。
さくらのレンタルサーバーの場合。8192KiB(≒8MB)まで対応。bzip2形式の圧縮ファイルに対応しているらしい。
ヘテムルの場合。40960KiB(≒41MB)まで対応。圧縮ファイル非対応。
大量の記事を持っている場合、インポート先のphpMyAdminが受け入れられるファイルサイズに合わせて、細切れにデータをエクスポートする必要があります。
データをエクスポートする
エクスポート元のphpMyAdminにログインし(もちろんUTF-8で)、Movable Typeが使用しているデータベースの容量を確認します。
全部で10.0MiB。ヘテムルなら何も考えずにエクスポート→インポートできるけど、他のサーバーを利用する場合には、分割してエクスポートする必要があります。各テーブルの容量を参照し、インポート可能なサイズにするための分割法を計算します。エクスポート時にSQL文が加わると多少サイズが増えるので、ギリギリではなく余裕を持った容量にするのが良いです。
エクスポートを実行します。分割するためには左上にあるテーブルのリストから、まとめてエクスポートするテーブルだけを選択します。念のため[遅延インサートを使用する]をチェックし、[完全なINSERT文を作成する]もチェック。これで[ファイルに保存する]でファイルに保存します。
1つのテーブルでインポートできる容量をはみ出してしまう場合(mt_entryでありがち)、そのテーブルを選択し、[エクスポート]メニューでダンプする行数を指定します。例えば1500行で6MBとかあるのを3MB程度ずつにしたい場合は、0から800と801から1600(こういう指定でも1500行までで止まる)のように指定して、半分ずつのファイルにします。
いよいよ困ったときは、SQLなんて所詮テキストデータなので、秀丸で適当に切っときます。
データをインポートする
用意したデータを引っ越し先のMySQLにインポートし、元のサーバーと同じMTをインストールしてまずは動作確認しておくのが無難。アップグレードが必要な場合はその後インストールします。以上で終了。
- 2009.03.30
- [Web制作]
- « 前の記事
写真は一瞬の勝負なのがいいところ(「EXILIM EX-Z400」モニターまとめ) - トップ
ページ - 次の記事 »
links for 2009-03-30 - この記事“MySQLのエクスポートでMovable Typeを引っ越しする方法”の最上部へ












