如何将数据库从 Amazon RDS MySQL 实例导出到本地实例?

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

AWS 文档有此 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。我想知道是否有更简单的方法来使用 mysqldump 导出数据并加载到本地数据库中。我要导出的数据库不是很大,可能是1GB,所以大小不是问题。

当然可以。

从远程 RDS 服务器获取转储:

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

当提示输入密码时,为用户提供密码=remote_user_name(远程服务器)

将其上传到您的本地 mySql 实例:

mysql -u local_user_name -p local_db < dump.sql

此外,如果您在同一地区拥有 ec2 服务器,我建议您在那里转储。压缩文件,然后 scp 到您的本地计算机。通常,文件的压缩版本会小得多,您可以更快地传输它。

从 RDS 导出数据库

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

当提示输入密码时,请提供密码

在RDS上导入数据库

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

当提示输入密码时,请提供密码

另一个非常简单的选择是使用 MySql Workbench。在工具栏中 select 'Database' 和 'Data export'。 Select 正确的选项,目标文件...你就大功告成了!很简单!

这是一个老话题,但如果您遇到以下错误:

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

只需使用以下命令:

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