Quantcast
Channel: Planet MySQL
Viewing all articles
Browse latest Browse all 1081

[mysql][spider]VPとSPIDERを使って任意のテーブルを別ホストに移行する

$
0
0

MySQLのVPストレージエンジンとSPIDERストレージエンジンを使って、任意のテーブルを別ホストのMySQLに簡単に移行するスクリプトを書きました。

※ただしPRIMARY KEYがあるものに限る

gist: 571569 - GitHubに置いてあるスクリプトを落としてきて実行権限を付与しておく。

wget http://gist.github.com/raw/571569/cb624c24fac767188b4ee9e4925d3f7bfd4dc443/gistfile1.pl -O mygrate_to
chmod +x mygrate_to

移行先ホストに空のテーブルをつくる。

mysqldump -u kamipo -h old-db-host --opt --no-data old_db table1 table2 table3 |
mysql -u kamipo -h new-db-host -v new_db

移行元ホストのVPとSPIDERを使って移行先ホストにデータをコピーする。

./mygrate_to --host new-db-host -u kamipo -d new_db table1 table2 table3 |
mysql -u kamipo -h old-db-host -v old_db

とっても簡単ですね!

mygrate_toはmysqldumpみたいに標準出力に移行用のSQLをはきだすので、ファイルに保存してテーブルパラメータの調整やパーティショニングを手動で編集すると、最初から全部自分で移行用SQLを書かなくていいので便利だと思います。

あと注意したいのは、MySQLの仕様でCOMMENTは60文字以内に切り詰められるので、とくにVPストレージエンジンのテーブルパラメータは文字数制限に引っかかりがちです。とりあえず短いテーブル名にするなりして回避するしか現状なさそうです。

参考

PlanetMySQL Voting: Vote UP / Vote DOWN

Viewing all articles
Browse latest Browse all 1081

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>