2005/1/ 3

自宅サーバ環境をXREAにバックアップ(FreeBSD, Internet, MovableType)

今現在は管理者とサーバは賃貸マンションにいるのですが、適度なタイミングで実家に引っ越そうと考えています。 実家にはインターネット回線といえば、ダイアルアップのモデムしかないので、 引っ越す際には光なりCATVなりのそれなりの回線を準備する必要があります。

それに伴い、この自宅サーバ雑記帳も引く回線によっては1、2ヶ月の間自前のサーバで運用出来ないことも考えられます。そこで、 いつでも自宅の環境をXREAのサーバに移行できる準備を事前に行っています。

このエントリではバージョンの大きく異なるMySQLのデータを移行させるためのTIPSを説明しています。

■XREAについて

hijiki.netはValueDomainで取得していますが、 ここで取得するともれなくXREAのレンタルサーバが1ドメインにつき1アカウント無条件に取得出来ます。

追加料金を払うとページの上下に強制的に表示されるバナー広告の免除もできるほか、各種CGIも比較的緩い制限で利用できます。 XOOPSやPukiWiki、MovableType等に必要なモジュールも標準で用意されている他、DBもPostgreSQLか、 MySQLを利用できます。

■MovableTypeの環境移行

基本的には以下の手順で移行できます

  • (当然だが)XREAでアカウント取得、MySQLのDB初期化
  • 自宅サーバのMovableTypeの格納されているディレクトリをWin側に待避
  • Win側のmt/mt.cfgのURLを必要なら編集
  • MySQLのデータexport→Win側に待避
  • MovableTypeのディレクトリ配下をXREAのpublic_html/にアップロード
  • XREA側の*.cgiのファイルに実行権追加
  • exportしたMySQLのデータをユーザホーム(/)にアップロード
  • sshでXREAサーバに接続し以下のコマンドでデータimport
    mysql -uユーザ名 DB名 -pパスワード < exportしたDBファイル名
  • Web管理画面を表示させ、Webログの設定→基本設定内のパス情報を修正
  • サイトの再構築

■MySQLの文字コードについて

実際の所前述作業の中で、MySQLのexportでちょっと詰まりました。家の環境ではMySQLは4.1系を使っているのですが、 XREAでは4.0系を利用しており、 普通にmysqldumpをパラメータなしで実行しただけでは互換性がなく正常にXREA側でimportできません。 ビックリしたのはman mysqldump見ても書かれていなかったのですが、mysqldump --helpを見て解決しました。

それは--compatibleオプションで、mysqldump --compatible=mysql40… とすると出力されるSQLファイルを4.0系のものに変換して出力してくれるのです。 驚いたのがoracleやPostgreSQLへ変換するパラメータも有ることです。これは便利だ。

また、 MySQLはFreeBSDのPortsから何も手を加えずにインストールしているのでデフォルトの文字コードはlatin1になっている事です。 通常では別にlatin1でも好きな文字コードのレコードを格納しても、その文字カラムでのソートを行わない限り全く問題ないのですが、 mysqldumpがexport時に勝手にlatin1→EUCへの文字コード変換を行おうとするのか、 日本語部分が化け化けになって出力されてしまいます。

それを回避するのが--default-character-set=latin1です。 これを入れればexport時に文字コード変換を行わないで出力されます。

よって、mysqldumpを実行する時には以下の書式で行います。

mysqldump --compatible=mysql40 --default-character-set=latin1 -uユーザ名 DB名 -pパスワード > 出力ファイル名

これで、exportしたファイルはDB上に格納されている文字コードと同一のものが取得できます。 うちの場合はEUC-JPコードで取れました。

■おわりに

今までずっとPostgreSQLを使っていて、pg_dumpでは特に文字コードを意識したことはなかったのですが、 今回MySQLにして調べ始めたときには唖然としてしまいました。

半分意地で調べた結果、意外とMySQLは多環境に優しい優れたDBだと言うことが分かりました。 最近のVersionではSQLの副問い合わせにも対応したみたいで、もしかしてPostgreSQLよりも凄いのではと思い始めています。

とりあえず今回の調査で、いつでも自宅サーバをXREAにデータ移行できる事がわかりました。 DNSの変更をすれば利用している方々にはサーバが変わったことなど全く気づかないでスムーズに行けそうです。

さあ、引っ越し費用を稼がないと(笑)

投稿者 yotan : 2005年1月 3日 15:42| トラックバック(0)
アンケート
このエントリは・・・
とても役に立った
役に立った
どちらとも言えない
あまり役に立たなかった
全く役に立たなかった
コメント
コメントする

※コメント内にURLを書くとSPAM扱いとなります。2ch風に表記はOKです










名前、アドレスを登録しますか?