全部产品
数据传输服务DTS

使用mysqldump从AWS RDS迁移MySQL到阿里云RDS

更新时间:2017-06-07 13:26:11   分享:   

适用场景

本文适用于使用mysqldump工具从AWS RDS迁移MySQL到阿里云RDS。

环境准备

  • 已创建AWS RDS MySQL 5.6 或更低版本。

  • 已创建阿里云RDS MySQL 5.6实例,数据库可用空间大小要有AWS RDS显示的数据大小的2倍以上(是因为导入数据库时产生的Binlog,后续会自动清理掉的)。

  • 一台装有MySQL Client 5.6的Linux或Windows机器。

操作步骤

  1. 设置 AWS RDS 使用外网地址访问,操作步骤如下所示:

    1. 打开AWS RDS Console, 进入要迁移实例的Dashboard页面。记下group id (红框部分),然后在页面左边单击Security Groups

      Dashboard

    2. Security Group页面选择相应的group,红框部分对应第一步的group id。选择Inboud选项卡,单击Edit按钮。

      edit

    3. 在弹出对话框中,Type下拉列表中选择MySQL,Source下拉列表中选择Anywhere,单击Save按钮。

      edit rules

    4. 从Linux机器上检查一下是否可以连接。连接命令格式如下所示:

      1. mysql h <连接地址> -P <端口> -u <用户名> -p <密码> <数据库名>

      检查结果如下图所示:

      test1

      test2

  2. 创建阿里云RDS帐号,操作步骤如下所示:

    1. 登录 RDS 管理控制台,选择目标实例。

    2. 选择菜单中的账号管理,单击创建账号,如下图所示。

      创建账号

    3. 输入要创建的账号信息,单击确定,如下图所示。

      账号信息

      • 数据库账号:由2~16个字符的小写字母,数字或下划线组成、开头需为字母,结尾需为字母或数字。

      • 密码:该账号对应的密码,由6~32个字符的字母、数字、中划线或下划线组成。

      • 确认密码:输入与密码一致的字段,以确保密码正确输入。

      • 备注说明:可以备注该账号的相关信息,便于后续账号管理,最多支持256个字符(1个汉字等于2个字符)。

  3. 创建阿里云RDS数据库,操作步骤如下所示:

    1. 选择菜单中的数据库管理,单击创建数据库,如下图所示。

      创建数据库

    2. 输入要创建的数据库信息,单击确定,如下图所示。

      数据库信息

      • 数据库(DB)名称:由2~64个字符的小写字母、数字、下划线或中划线组成,开头需为字母,结尾需为字母或数字。

      • 支持字符集:设置数据库的字符集:utf8、gbk、latin1和utf8mb4。

      • 授权账号:选择该数据库授权的账号。如果尚未创建账号,该值可以为空。

      • 账号类型:选择授权账号后可见,设置该数据库授权给授权账的权限,可以设置为读写或者只读

      • 备注说明:可以备注该数据库的相关信息,便于后续数据库管理,最多支持256个字符(1个汉字等于2个字符)。

  4. 使用mysqldump进行正式的数据迁移。具体迁移时间依赖于数据量大小。迁移命令格式如下所示:

    1. mysqldump h <AWS RDS地址> -P <端口> -u <用户名> p <密码> <数据库名> --single-transaction --routines --triggers --compress --compact | mysqldump h<阿里云RDS地址> -u<用户名> p<密码> <数据库名>

注意:

  • 这种方法可能会受到网络抖动或断开的影响。

  • 远程到Linux的SSH session要保持不能断开,建议在screen里面运行能够保持session。

本文导读目录
本文导读目录
以上内容是否对您有帮助?