デビアン(Debian)/mysqlデータベースをレッドハットから移行する
レッドハット7.3のmysqlデータベースを、デビアン3.0に移行した。
3.23.x どうしなので問題はないはずと思ったら、デビアンは debian-sys-maint というデータベースユーザを作っていて、それに「シャットダウン、再ロード」の権限を与えていた。
/etc/mysql/debian.cnf に、ユーザ名とパスワードが書いてあるので、これに基づいて移行した後のデータベースのユーザを作ってあげる。レッドハットで動いているうちにユーザを作っておいた方が、移行作業がきれいに出来るので、ユーザを作っておいて下さい。権限に「シャットダウン、再ロード」の二つを与えておくこと。
移行の仕方
レッドハット側の mysql で debian-sys-maint ユーザーを作る。
# mysql mysql> GRANT reload,shutdown ON *.* TO 'debian-sys-maint'@localhost IDENTIFIED BY 'xxxxxx' WITH GRANT OPTION;
レッドハット側のデータベースのアーカイブを作る。
# cd /var/lib # /etc/init.d/mysql stop # tar c mysql >mysql.tar # /etc/init.d/mysql start # gzip mysql.tar上は、mysqlを止めてから、フォルダーの書庫を作って、mysqlを再スタート。書庫を圧縮する。これで、/var/lib/mysql.tar.gz にmysqlのデータベースのバックアップが出来る。
これを、デビアン側に持って行って展開する。 以下は、デビアン側の処理:
# cd /var/lib # scp 利用者@レッドハットのホスト名:/var/lib/mysql.tar.gz . # /etc/init.d/mysql stop # mv mysql mysql.original # zcat mysql.tar.gz | tar x # /etc/init.d/mysql startこれで、新しいデータベースでデビアン側でスタートする。
もし、レッドハット上で動いているうちに、debian-sys-maintユーザを作っていなかったら、結果は:"fail" となっているけど、データベースは走っている。 この状態で、debian-sys-maintユーザを作る事が出来る。
![[メインページ]](http://now.ohah.net/upload/wiki.png)