其他云MySQL實例準備
更新時間 2023-12-25 18:25:32
最近更新時間: 2023-12-25 18:25:32
分享文章
本頁為您介紹其他云MySQL遷移到RDS for MySQL時,其他云MySQL實例的準備工作。
網絡
VPC網絡安全策略放通
需要在其他云數據庫實例所在的VPC放通【DTS實例的配置流程】中配置的公網IP的訪問權限,一般包括網絡ACL和實例安全組,具體可參考各廠商云數據庫官方文檔進行操作。
數據庫添加白名單
數據庫需要添加【DTS實例的配置流程】中配置的公網IP遠程訪問數據庫的權限。不同類型的數據庫添加白名單的方法可能不一樣,具體可參考各數據庫官方文檔進行操作。
數據庫賬號及權限
數據庫賬號及權限要求,根據源庫版本不同而不同,下面分開進行描述。
源庫為MySQL 5.7
所需權限
- 對MySQL庫的SELECT權限。
- 對待遷移庫的SELECT,EVENT,TRIGGER權限。
- 部分全局權限。
RELOAD
LOCK TABLES
REPLICATION CLIENT
REPLICATION SLAVE
SHOW VIEW
PROCESS - 如果是整實例遷移,需要對所有數據庫的查詢權限。
參考賦權語句
GRANT SELECT ON mysql.* TO '遷移賬號'@'%';
GRANT SELECT,EVENT,TRIGGER ON 待遷移的庫.* TO '遷移賬號'@'%';
GRANT RELOAD,LOCK TABLES,REPLICATION CLIENT,REPLICATION SLAVE,SHOW VIEW,PROCESS ON *.* TO '遷移賬號'@'%';
源庫為MySQL 8.0
所需權限
- 對MySQL庫的SELECT權限。
- 對待遷移庫的SELECT,EXECUTE,EVENT,TRIGGER權限。
- 部分全局權限。
RELOAD
PROCESS
LOCK TABLES
REPLICATION CLIENT
REPLICATION SLAVE
SHOW VIEW
SHOW_ROUTINE - 如果是整實例遷移,需要對所有數據庫的查詢權限。
參考賦權語句
GRANT SELECT ON mysql.* TO '同步賬號'@'%';
GRANT SELECT, EXECUTE, EVENT, TRIGGER ON 待同步的庫.* TO '同步賬號'@'%';
GRANT RELOAD, PROCESS, LOCK TABLES, REPLICATION SLAVE, REPLICATION CLIENT, SHOW VIEW, SHOW_ROUTINE ON *.* TO '同步賬號'@'%';
注意如果待遷移對象包含用戶自定義function,則在滿足上述權限的基礎上,目標端數據庫同時需將log_bin_trust_function_creators參數設置為1,參考語句如下:
set?global?log_bin_trust_function_creators?=?1;
數據庫配置
- MySQL源數據庫的binlog日志必須打開,且binlog日志格式必須為Row格式。
- 在磁盤空間允許的情況下,建議源數據庫binlog保存時間越長越好,建議為3天。
- 源數據庫expire_logs_days參數值為0,可能會導致遷移失敗。
- 增量遷移時,必須設置MySQL源數據庫的server-id。如果源數據庫版本小于或等于MySQL5.6,server-id的取值范圍在2-4294967296之間;如果源數據庫版本大于或等于MySQL5.7,server-id的取值范圍在1-4294967296之間。
- 源數據庫GTID狀態建議為開啟狀態,源數據庫實例沒有開啟GTID的情況下DTS不支持主備HA切換,因為DTS任務會因為位點不續接而中斷導致無法恢復。