數據遷移兩種方式
1.停服---不在考慮範圍
2.不停服
sql語句直接遷移可能的問題:鎖表
例如:insert into A where * from B where create_time<"xxxx";
mysql加鎖規則是:A表鎖,B逐步鎖(掃描一個鎖一個),如果沒有createTime沒有索引,會全表掃描,也就意味着慢慢的會越鎖越多數據,最終導致鎖表,B表被鎖住不能對外提供服務.....事故
可以參考一下這個事故解釋:https://database.51cto.com/art/202004/615708.htm
遷移策略:
方案1.dump 某一時刻的mysql臨時文件(DBA操作),移到新的庫讀取,然後直接通過sql進行這個時間點之後的數據補齊
方案2.通過鏡像拷貝的方式實現遷移,利用主從策略同步增量更新的數據