RDB:DBサーバーへのデータインポート(MySQL)
ここでは既存のMySQLデータベースからニフクラRDBのデータベースに、mysqldumpコマンドを利用してデータをインポートする手順を説明します。
コマンドライン
下記のコマンドを実行
mysqldumpコマンドに「all-databases」と「skip-add-drop-table」オプションをつけることにより、インポート時にシステムテーブル(mysql.∗)が削除されてしまうことを防ぎます。
mysqldump -h XXX.XXX.XXX.XXX(既存のDBサーバーのIPアドレス) -u ユーザー名 -p --all-databases --skip-add-drop-table > dump.sql
mysql -h XXX.XXX.XXX.XXX(ニフクラRDBのDBサーバーのIPアドレス) -u ユーザー名 -p -f < dump.sql
ご注意事項
- 上記コマンド例に記載したオプションをつけずに実行した場合、mysql.userテーブルが削除され、MySQLにログインできなくなりますのでご注意ください。
- 再度データインポートを行う場合は、一度インポートしたデータをすべて削除した上で、上記コマンドを再実行してください。
mysqldump には下記のように便利なオプションが存在するので利用を検討してみてください。
–order-by-primary | 各テーブルのデータをソートしてくれます。これによってインポート時間が大幅に短縮されます。 |
–compress | ニフクラRDB に送る前にデータを圧縮します。転送が速くなることはありませんが、ネットワーク帯域の利用を少なくすることができます。 ※MySQL 8.0以降は非推奨になります。 |
–single-transaction | すべてのデータがある時間で一貫性を持つことを保証します。mysqldumpコマンドがインポート元のデータを読み込んでいる最中にデータの変更が行われる可能性がある場合にはデータの整合性を保つためにこのオプションを使用してください。 |