RDS MariaDB可以通过DTS或mysqldump工具实现实例间的数据迁移,本文将介绍详细的操作步骤。
方法一:使用DTS
方法二:使用mysqldump
下文以MariaDB 10.3版本为例,演示RDS MariaDB实例间的数据迁移。
前提条件
操作步骤
使用客户端工具登录目的MariaDB实例,创建空数据库。
在CentOS 7使用自带的mysqldump工具将源MariaDB实例的数据库导出为数据文件。
mysqldump -h <源实例外网地址> -P <源实例端口> -u <源实例高权限账号> -p<源实例高权限账号密码> --opt --default-character-set=utf8 --hex-blob <要迁移的数据库名称> --skip-triggers > /tmp/<要迁移的数据库名称>.sql
示例
mysqldump -h rm-xxx.mariadb.rds.aliyuncs.com -P 3306 -u test -pTestxxx --opt --default-character-set=utf8 --hex-blob testdb --skip-triggers > /tmp/testdb.sql
说明导出期间请勿进行数据更新。本步骤仅导出数据,不包括存储过程、触发器及函数。
使用mysqldump导出存储过程、触发器和函数。
mysqldump -h <源实例外网地址> -P <源实例端口> -u <源实例高权限账号> -p<源实例高权限账号密码> --opt --default-character-set=utf8 --hex-blob <要迁移的数据库名称> -R > /tmp/<要迁移的数据库名称>trigger.sql
示例
mysqldump -h rm-xxx.mariadb.rds.aliyuncs.com -P 3306 -u test -pTestxxx --opt --default-character-set=utf8 --hex-blob testdb -R > /tmp/testdbtrigger.sql
说明若数据库中没有使用存储过程、触发器和函数,可跳过此步骤。
通过如下命令将数据文件、存储过程、触发器和函数导入到目标RDS MariaDB实例中。
mysql -h <目的实例外网地址> -P <目的实例端口> -u <目的实例高权限账号> -p<目的实例高权限账号密码> <目的实例数据库名称> < /tmp/<要迁移的数据库名称>.sql mysql -h <目的实例外网地址> -P <目的实例端口> -u <目的实例高权限账号> -p<目的实例高权限账号密码> <目的实例数据库名称> < /tmp/<要迁移的数据库名称>trigger.sql
示例
mysql -h rm-xxx.mariadb.rds.aliyuncs.com -P 3306 -u test2 -pTest2xxx test001 < /tmp/testdb.sql mysql -h rm-xxx.mariadb.rds.aliyuncs.com -P 3306 -u test2 -pTest2xxx test001 < /tmp/testdbtriggertrigger.sql
文档内容是否对您有帮助?