目次
PostgreSQL の場合は PostgreSQL: ダンプを保存せずにデータベースをコピー をご覧ください。
MySQL のデータを移す際によくやるのは、 mysqldump
でダンプデータを取得・保存して、 mysql
で流し込む方法です。
いちいちダンプファイルに保存するのも面倒なので、つなげてひとつのコマンドにしてみました。 ダンプファイルの保存は行いません。
コマンド
1 |
mysqldump -h db_host_a -u user_a -ppassword_a db_name_a | mysql -h db_host_b -u user_b -ppassword_b db_name_b |
つなげる前のコマンド
1行にする前の、エクスポートしてダンプを保存するコマンドと、ダンプファイルからデータをインポートするコマンドです。
- エクスポート
-
1mysqldump -h db_host_a -u user_a -ppassword_a db_name_a > dump.dmp
- インポート
-
1mysql -h db_host_b -u user_b -ppassword_b db_name_b < dump.dmp
補足
mysqldump
のコマンドに オプション --single-transaction
を加えると、 ひとつのトランザクション内でデータを取得してくれます。 これにより整合性の保たれたデータが取得できます。 テーブルエンジンが MyISAM の場合はこの限りではありません。