« F1 アメリカGP パート3 | メイン | F1 BMWがザウバーを買収 »

2005年6月21日

日記データの移動

カテゴリー: インターネット

レンタルサーバに移行するにあたって(当たり前ですが)ホームページのコンテンツを移動しなければなりません。まあ、ほとんどのデータはFTPでアップロードするだけなんですが、この日記だけはMovableTypeで作っているので少し面倒です。データベースを利用してますからね。ギリギリになってあわてるのは嫌なので事前にテストしてみました。

まず最初に考えたのは、MovableTypeの読み込み/書き出し機能を使ってやる方法。結論から言うと、これには問題がありました。各エントリーのIDが変わってしまうのです。うちは削除したエントリーもあるので完全な連番になっていないのですが、書き出しデータにIDは含まれていないんですよね。その結果、読み込んだときに新たな連番にリナンバーされてしまいます。エントリーのIDはそのまま個別エントリーやトラックバックのURLになっているので、これではリンク切れが大量に発生してしまいます。今回はドメイン名が変わるわけではないので、これは避けたいです。

仕方ないので、サーバ上でmysqldumpコマンドを使って書き出したSQLデータを、レンタルサーバ側で実行するという方法でやりました。幸い移転先のレンタルサーバもMySQLですし(そういうところを選んだ)プラットフォームもインテルCPUのPC(OSはFreeBSD)のようなので、互換性の問題もありません。ネットで調べて試行錯誤して、なんとかできました。1回できてしまえばもう簡単。これで5分もあれば移動できます(^^;)


参考までに具体的な手順を書いておきます。ちなみに私はUNIXやMySQLはあまり詳しくありません。あくまで参考に(^^;)

まず書き出しは以下のような感じ。username、databasenameは適当に置き換えてください。textnameはご自由に。

$ mysqldump --user=username --password databasename > textname.sql

読み込みは以下のように。

$ mysql --host=hostname --user=username --password databasename < textname.sql

hostnameは適当に置き換えてください。こちらだけホストを指定しているのは、今回の移転先であるさくらインターネットではTelnetでログインできるホストとMySQLのあるホストが別だからです。なお、読み込む前にテーブルが存在しているとエラーになります。



コメント

よろしければコメントしてください。

※メールアドレス以外の項目はこのページ上に公開されます。個人情報などの入力にはご注意ください。




保存しますか?


「投稿」ボタンを押してから書き込み完了までに多少時間がかかる場合があります。ご了承ください。