mysqldumpを使用して一旦データを抽出し、その後でsource文を使用してデータを挿入します。
まずはmysqldumpを使用して抽出したいデータベースとテーブルを指定します。
$ mysqldump -u ユーザー名 -p -h ホスト名 -P 3306 -t データベース名 テーブル名 > ファイル名
実行が完了するとファイル名で指定したパスに結果が出力されます。
結果は全てINSERT文として出力されます。
上記のコマンドでは「-t」オプションを使用しているためcreate文は出力されません。
続いてデータの挿入です。
source文を使用します。
mysqlコマンドで外から流してもいいですし、mysqlに接続してから普通にコマンドを実行しても問題ありません。
下記の方法は後者になります。
$ mysql -h ホスト名 -P 3306 -u ユーザー名 -p Enter password: mysql>user データベース名; Database changed mysql>source ファイル名
今回は2つのRDS間で特定のテーブルに対してデータを複製をしたかったのでこのような方法を取りました。
テーブル全体であれば停止が必要なもののスナップショットをそのまま復元するという方法もあります。