数据库管理平台DMP

深信服数据库管理平台(DMP)提供MySQL、Oracle的RDS功能,支持全生命周期管理、自动MySQL主从切换、故障自愈、事务一致性备份、监控告警等,能够实现业务快速上线、资源快速分发、数据安全保护,提供SLA保障,使数据库运维复杂度大幅下降,帮助客户减少被动性救火工作,专注业务创新。
点击可切换产品版本
知道了
不再提醒
DMP 2.3.0
{{sendMatomoQuery("数据库管理平台DMP","将数据导入到MySQL 数据库")}}

将数据导入到MySQL 数据库

更新时间:2023-09-04

您可以将数据从现有 MySQL  MariaDB 数据库导入到 RDS MySQL  MariaDB 数据库实例。 为此,请使用 mysqldump 复制数据库,然后通过管道将其直接传输到 RDS MySQL  MariaDB 数 据库实例。mysqldump 命令行实用程序通常用于创建备份以及将数据从一个 MySQL  MariaDB 服务器传 输到另一个 MySQL  MariaDB 服务器。该实用程序包含在 MySQL  MariaDB 客户端软件中。

将数据从外部数据库移动到 RDS 数据库实例的典型 mysqldump 命令与下类似:

mysqldump -u <local_user> \

--databases <database_name> \

--single-transaction \

--compress \

--order-by-primary \

-p<local_password> | mysql -u <RDS_user> \

--port=<port_number> \

--host=<host_name> \

-p<RDS_password>

 

确保 -p 选项和输入的密码之间不留空格。

 

注意⚠️

•从转储文件中排除以下架构:sysperformance_schema  information_schema。默认情况下,mysqldump 实用工程序包括这些架构。

 如果您需要迁移用户和权限,请考虑使用生成数据控制语言 (DCL) 的工具 (如 pt-show-grants 实 用程序) 来重新创建用户和权限。

所用参数如下所示:

 

-u <local_user>  用于指定用户名。在第一次使用该参数时,您指定由 --databases 参数确定的本 地 MySQL  MariaDB 数据库中的用户账户名称。

--databases <database_name>  用于指定本地 MySQL  MariaDB 实例上您要导入 RDS 的数据库的名称。

 

--single-transaction  用于确保从本地数据库加载的所有数据都与单一时间点保持一致。如果在

mysqldump 读取数据期间有其他进程更改数据,使用该选项有助于保持数据完整性。

--compress  用于降低网络带宽消耗,方式为将数据从本地数据库发送到 RDS 之前压缩数 据。

--order-by-primary  用于减少加载时间,方式为根据主键对每个表中的数据进行排序。

-p<local_password>  用于指定密码。在第一次使用该参数时,您为第一个 -u 参数确定的用户账户指 定密码。

-u <RDS_user>  用于指定用户名。在第二次使用该参数时,您指定由 --host 参数确定的 

RDS MySQL  MariaDB 数据库实例中的默认数据库的用户账户名称。

--port <port_number>  用于为您的 RDS MySQL  MariaDB 数据库实例指定端口。默认 情况下该值为 3306,除非您在创建实例时进行了更改。

--host <host_name>  用于从 RDS 数据库实例终端节点指定 DNS 名称,例 如,myinstance.123456789012.us-east-1.rds.sangforrds.com。您可以在 RDS 管理 控制台上的实例详细信息中找到终端节点值。

-p<RDS_password>  用于指定密码。在第二次使用该参数时,您为第二个 -u 参数确定的用户账户指定 密码。

 

 

您必须在 RDS 数据库中手动创建任何存储过程、触发器、函数或事件。如果您所复制的数据库中 有上述任一对象,则在运行 mysqldump 时排除这些对象,方式是将以下参数与 mysqldump 命令一起包 含:--routines=0 --triggers=0 --events=0

以下示例将本地主机上的 world 示例数据库复制到 RDS MySQL 数据库实例中。 对于 LinuxmacOS  Unix

mysqldump -u localuser \

--databases world \

--single-transaction \

--compress \

--order-by-primary \

-plocalpassword | mysql -u rdsuser \

--port=3306 \

--host=myinstance.123456789012.us-east-1.rds.sangforrds.com \

-prdspassword

 

对于 Windows,右键单击 Windows 程序菜单上的 Command Prompt 并选择 Run as administrator 打开命令 提示符,运行以下命令:

mysqldump -u localuser \

--databases world \

--single-transaction \

--compress \

--order-by-primary \

-plocalpassword | mysql -u rdsuser \

--port=3306 \

--host=myinstance.123456789012.us-east-1.rds.sangforrds.com \

-prdspassword