閱讀157 返回首頁    go 阿裏雲 go 技術社區[雲棲]


ImportDatabaseBetweenInstances使用實例


第一節 ImportDatabaseBetweenInstances的作用

具體參考阿裏雲幫助文檔的說明:https://help.aliyun.com/document_detail/26301.html

第二節 使用實例

2.1 Rds準備

華東1Rds實例A:

5f71cd52ebdb5eb180f603de80acd4bd18fa9c6c

08a1c53c74de105581c11d258c952ae0c999c861

36f46957ef512f851c0f72fe40ded87797188c0c

華東1Rds實例B:

8dcf70a00ce0bc4a35c07a8420251c0ca0ee06ac

6544c2ccb7c8e744374eff444411c28ab460dc6b

Rds cli:

此處使用阿裏雲RDS命令行工具進行調用,安裝和下載:

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

 

實現目標:將華東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.",這也是最容易出現問題的地方

 

安裝好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"']}

 

結果如下:

f7b4f5bc60f28bbc5ee4d02dc5af2bce7f9bfe08

實例的狀態變化如下:

c90175f2b0fd3b5b1b64facba6759a0c7b5e14b1

fe34a5e9865bce657c08568b19b885fd08fbe83d

任務完成後,實例狀態會變為”運行中”,遷移時可能因為其他原因時間會比較長,需要等待

因為測試是隻有一個測試表,2分鍾就完成了,完成後查看目標實例的數據如下:

eb5a89b131a467ac357f1c2159653cc9119a026e

這樣就執行完成了兩個rds實例之間數據庫的遷移,個人更傾向於使用dts以及其他的方式來實現數據的遷移,使用該api的調用無法對遷移的任務以及遷移的狀態可控,請求發送成功後全部交給了阿裏雲的後台係統,控製台隻能看到”遷出數據中”和”遷入數據中”的狀態,假設報錯了也無法看到錯誤的信息

最後更新:2017-08-13 22:21:50

  上一篇:go  雲服務器 ECS 安全:ECS安全組實踐(二)
  下一篇:go  產品經理與項目經理的區別——匯新雲