ImportDatabaseBetweenInstances使用實例
第一節 ImportDatabaseBetweenInstances的作用
具體參考阿裏雲幫助文檔的說明:https://help.aliyun.com/document_detail/26301.html
第二節 使用實例
2.1 Rds準備
華東1Rds實例A:
華東1Rds實例B:
Rds cli:
此處使用阿裏雲RDS命令行工具進行調用,安裝和下載:
https://help.aliyun.com/knowledge_detail/39285.html
實現目標:將華東1實例A的數據庫importtest(內有測試表test)數據遷移到華東1實例B的importtest中
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.",這也是最容易出現問題的地方
安裝好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"']}
結果如下:
實例的狀態變化如下:
任務完成後,實例狀態會變為”運行中”,遷移時可能因為其他原因時間會比較長,需要等待
因為測試是隻有一個測試表,2分鍾就完成了,完成後查看目標實例的數據如下:
這樣就執行完成了兩個rds實例之間數據庫的遷移,個人更傾向於使用dts以及其他的方式來實現數據的遷移,使用該api的調用無法對遷移的任務以及遷移的狀態可控,請求發送成功後全部交給了阿裏雲的後台係統,控製台隻能看到”遷出數據中”和”遷入數據中”的狀態,假設報錯了也無法看到錯誤的信息
最後更新:2017-08-13 22:21:50