RDSのmysqlに引っ越しを行ったので、そのときのエクスポートインポート方法をメモに残しておきます。
・mysqlテーブル単位のエクスポート
1 |
mysqldump -u ユーザー -p データベース名 -t テーブル名 > エクスポートファイル名.sql |
テーブルまるごとエクスポートをするときに使用しました。
・mysqlテーブルデータの一部をエクスポート
1 |
mysqldump -u ユーザー -p データベース名 -t テーブル名 --where="SQLの条件を記述(例udate < '2019-01-01 00:00:00')" > エクスポートファイル名.sql |
テーブル単位でエクスポートファイルを作成していたのですが、非常に大きいテーブルはテーブル単位だと出力先のディスクが足りなくなり、困っていたときに使用しました。
ディスクが足りなかったので少しづつエクスポートして、インポート、ファイル削除を繰り返しました。
・mysqlエクスポートしたファイルをRDSにインポート
1 |
mysql -h RDSのエンドポイント -P 3306 -u ユーザー名 -p データベース名 < インポートファイル.sql |
RDS側は事前にデータベースの作成、テーブルの作成は行っています。
その後にエクスポートしたファイルを上記のコマンドでインポートしていきました。
ファイルは全部で30Gほどあり、インポートが完了するのに非常に時間が掛かりました。
ディスクが足りなくて少し焦りましたが、ハマりどころもなく無事引っ越しできました。
以上です。