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
文檔內容是否對您有幫助?