ImportDatabaseBetweenInstances使用实例

作者:手辨


第一节
ImportDatabaseBetweenInstances的作用


具体参考阿里云帮助文档的说明:https://help.aliyun.com/document_detail/26301.html


第二节 使用实例


2.1 Rds准备


华东1Rds实例A:


ImportDatabaseBetweenInstances使用实例


ImportDatabaseBetweenInstances使用实例


ImportDatabaseBetweenInstances使用实例


华东1Rds实例B:


ImportDatabaseBetweenInstances使用实例


ImportDatabaseBetweenInstances使用实例


Rds cli:


此处使用阿里云RDS命令行工具进行调用,安装和下载:


https://help.aliyun.com/knowledge_detail/39285.html


此处一定要确定使用的是该连接的cli,即命令开始是rds  不是aliyuncli rds,对比如下:


ImportDatabaseBetweenInstances使用实例




实现目标:将华东1实例A的数据库importtest(内有测试表test)数据迁移到华东1实例Bimporttest



2.2 执行调用


根据api的文档介绍,使用rds cli调用需要如下参数:


1)目标rds的实例id


2)源rds的实例id


3)需要迁移的实例中的数据库名称


注意事项:


1)源和目标的账号管理方式不可以是高权限账号,会提示:


"Message": "The operation is not permitted due to
account mode of instance.",所以非高权限账号管理模式的实例才可以


2)不支持跨地域的实例,会提示:"Message":
"the specified instance region does not support this operation.",


所以实例要同地域的


3)如果出现dbname相关的错误,会提示:"Message":
"The specified parameter DBInfo is not valid or db not 


exist.",这也是最容易出现问题的地方


4)确保源和目标的实例id正确,不正确会提示"Message": "DBInstanceIdentifier does not refer to an existing DB instance."


 


安装好rds cli之后,输入如下命令:


rds ImportDatabaseBetweenInstances
--DBInstanceId  rds99k7j*z1spd6


--SourceDBInstanceId rm-bp1m62*cksu  --DBInfo
{"'DBNames'":["'importtest'"]}


或者:


rds ImportDatabaseBetweenInstances
--DBInstanceId  rds99k7j*z1spd6


--SourceDBInstanceId rm-bp1m62*cksu  --DBInfo
{'"DBNames"':['"importtest"']}


 


结果如下:


ImportDatabaseBetweenInstances使用实例


实例的状态变化如下:


ImportDatabaseBetweenInstances使用实例


ImportDatabaseBetweenInstances使用实例


任务完成后,实例状态会变为”运行中”,迁移时可能因为其他原因时间会比较长,需要等待


因为测试是只有一个测试表,2分钟就完成了,完成后查看目标实例的数据如下:


ImportDatabaseBetweenInstances使用实例


这样就执行完成了两个rds实例之间数据库的迁移,个人更倾向于使用dts以及其他的方式来实现数据的迁移,使用该api的调用无法对迁移的任务以及迁移的状态可控,请求发送成功后全部交给了阿里云的后台系统,控制台只能看到”迁出数据中”和”迁入数据中”的状态,假设报错了也无法看到错误的信息


上一篇:MYSQL SUBQUERY执行过程


下一篇:云服务技术课堂关于电子书需求情况调查