binWord.comはレンタルサーバーを借りて運営している。これまで使っていたサーバーにだいぶ負荷がかかっており、Movable Typeでのリビルド(Rebuid:再構築)や、PukiWikiでの編集作業等々でストレスを感じたり、サーバーが応答しなくなることも増えてきた。そこで、同じ業者の別サーバーに移行することにした。 HTMLなどのユーザーデータは基本的に業者が移行してくれることになっているのだが、厄介なのがMovable Typeで使用しているMySQLデータベースだ。これはその他のユーザーデータとは別のところに格納されているため、自分でバックアップ・復元を行う必要がある(業者が移行作業をやってくれてもいいと思うんだけどね……)。 なお、Movable Typeにはデータの書き出し・読み込み機能があるのだけど、これを使ってデータを復元すると、コンテンツの順番がずれてしまうことがある。せっかく個別記事にリンクしてくれている人もいるのだから、できればURLは変えないようにしたい。テンプレートのデータなどもいちいち設定し直さなくてはならないし。やはり、MySQLのデータベースを丸ごと移すのが手っ取り早い。
MySQLデータベースをバックアップするには、SSHやtelnetでサーバーにログインし、「cd」コマンドでデータを保存したいディレクトリに移動。以下のコマンドを入力する。mysqldump -q データベース名 -pパスワード > バックアップファイル名
これでそのディレクトリ内に「バックアップファイル名」のファイルが出来上がる。
MySQLのバックアップファイルを含むデータを新サーバーに移したら、MySQL用の管理ツールを使って新しいデータベースを作成する。私が使っているレンタルサーバーはWebベースのツールが用意されているので、それを使った。また、データベースにアクセスするためのパスワードも設定する。ここで作成した「データベース名」と「パスワード」は控えておくこと。 次に、新サーバーへSSHやtelnetでログインし、バックアップファイルを保存したディレクトリに移動。
mysql -pパスワード 新データベース名 < バックアップファイル名
これで、MySQLのデータベースが復元される。文字化けするというような話を聞いたこともあるのだが、私の所は以上の操作だけでうまくいった。ちなみに、旧サーバーで使っていたMySQLのバージョンは11.15、新サーバーの方は11.18だ。
なお、Movable TypeでMySQLデータベースを使っている場合、注意する点がいくつか。「mt.cfg」内でMySQLデータベース名を指定している「Database」とユーザー名(データベース利用者)の「DBUser」が正しい設定になっているか確認しよう。また、データベースのパスワードが書かれた「mt-db-pass.cgi」も要確認。 あと、もしかしたらファイルのパーミッションが変わってしまっているかもしれないので、それもチェック。
コメント