Srini K
Srini K

Reputation: 3365

How to export database from Amazon RDS MySQL instance to local instance?

AWS documentation has this page that talks about importing and exporting data from MySQL server, but it's mostly about import. The only thing I see in their documentation is a way to export 5.6 data using replication, which is documented here. I was wondering if there is a simpler way to export data using mysqldump and load in local database. The database that I want to export is not huge, may be 1GB, so size is not a issue.

Upvotes: 95

Views: 125237

Answers (4)

Hugo Pineda
Hugo Pineda

Reputation: 41

This is an old topic, but in case you are getting the following error:

Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions, even those that changed suppressed parts of the database. If you don't want to restore GTIDs, pass --set-gtid-purged=O FF. To make a complete dump, pass --all-databases --triggers --routines --events.

mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buck ets-specified"') FROM information_schema.COLUMN_STATISTICS WHERE SCHEMA_NAME = 'db_name' AND TABLE_NAME = 'wp_actionscheduler_actions';': Unknown table 'COLUMN_STATISTICS' in information_schema

Simply, use the following command:

mysqldump -uUSER -p DATABASE --host=WriterEndpointNOport --set-gtid-purged=OFF --column-statistics=0 > bd_export.sql

Upvotes: 4

tm1701
tm1701

Reputation: 7581

Another very easy option is by using the MySql Workbench. In the toolbar select 'Database' and 'Data export'. Select the right options, the target file ... and you're done! Easy does it!

Upvotes: 6

Krishan Kumar Mourya
Krishan Kumar Mourya

Reputation: 2306

To export db from RDS

mysqldump -h rds.host.name -u remote_user_name -p remote_db > remote_db.sql

When prompted for password, provide the password

To import db on RDS

mysql -h rds.host.name -u remote_user_name -p remote_db < remote_db.sql

When prompted for password, provide the password

Upvotes: 36

TJ-
TJ-

Reputation: 14363

Sure.

Take the dump from the remote RDS Server:

mysqldump -h rds.host.name -u remote_user_name -p remote_db > dump.sql

When prompted for password, provide the password for user=remote_user_name (remote server)

Upload it to your local mySql instance:

mysql -u local_user_name -p local_db < dump.sql

Also, if you own an ec2 server in the same region, I'd suggest take a dump there. zip the file and then scp it to your local machine. Typically, the compressed version of the file would be much smaller and you'd be able to transfer it quicker.

Upvotes: 165

Related Questions