「ひろの」の徒然日記帳 [IT tools, programming, software and more...]

プログラミング、ITツール、人工知能等興味のあることを徒然と書きます。Microsoft、C#が好きです

MySQL4.0 から MySQL5.5 への移行(さくらインターネット編)

ひろのです。

週末に大きな予定がないので、近くを家族で散歩しました。
子供との散歩は新鮮です。引っ越しも1週間後と近づいてきたので
この街にいるのもあと少しなのでいろんな風景と見ておきたいと思います。


過去から利用していたMySQLですがバージョン4.0とかなり古く、
新しい環境へ移設することになったのでその際の手順を記載します。
移行先はMySQL 5.5となります。

1. MySQL4.0環境のバックアップ

まずはMySQL4.0環境でバックアップします。
さくらインターネットの環境を複数所持し新しい環境とは別環境で
実施することでバックアップがうまくいっていなかった時も問題ないと思います。


TeraTeamで xxxxx.sakura.ne.jp にSSHログインします。
IDとパスワードは契約時の「www」と一緒となります。
ログインしたらhomeディレクトリにて mkdirコマンドでなディレクトリを作ります。
「cd」でディレクトリ移動します。
mysqlコマンドで mysqldump-4.0 -u [user]-h [DB server] [DB名] -p > mysql.dump
のあとにDBのパスワード入力します。
DBのサイズにもよりますが、
しばらく待っているとダンプ(バックアップ)が完了します。

WinSCP等のツールでローカル環境に保存しておきます。
mysql.dumpしたファイルをテキストエディタで編集します。
TYPE=MyISAMをENGINE=MyISAMに修正します。
また、MySQL 4.0の時には問題にはならないカラム予約後がありますので
deleteといったカラムがあれば delete_flg等に修正して下さい。
別名のmysql2.dumpにして保存しました。
エンコードUTF-8指定で保存しています。


2. 新環境のMySQL5.5でリストア

さくらインターネットのコントロール画面からDBを作ります。

WinSCPでMySQL5.5環境のサーバにファイルを配置します。
TeraTeam 等でSSHログインします。※MySQL5.5環境の方となります。
「cd 」にて mysql2.dump のあるところに移動しておきます。

mysql -v -u [user] -h [DBサーバ名(ホスト名ね)] [DB名] -p

パスワードを入力します。
UTF-8になっているか「\s」で確認します。
UTF-8になっていることを確認できた後、
\C utf8で他もUTF-8に変更します。
\. mysql2.dump でリストアを実行し、完了です。

大きくて複雑なテーブルだと編集する箇所が多いかもしれませんが、
小さなDBでテーブル数もあまりなかったので楽でした。