# 三 MySQL 遷移方案概覽
* * * * *
MySQL 遷移無非是圍繞著數據做工作,再繼續延伸,無非就是在保證業務平穩持續地運行的前提下做備份恢復。那問題就在怎么快速安全地進行備份恢復。
一方面,**備份**。針對每個主節點的從節點或者備節點,都有備份。這個備份可能是全備,可能是增量備份。在線備份的方法,可能是使用 mysqldump,可能是 xtrabackup,還可能是 mydumper。針對小容量(10GB 以下)數據庫的備份,我們可以使用 mysqldump。但針對大容量數據庫(數百GB 或者 TB 級別),我們不能使用 mysqldump 備份,一方面,會產生鎖;另一方面,耗時太長。這種情況,可以選擇 xtrabackup 或者直接拷貝數據目錄。直接拷貝數據目錄方法,不同機器傳輸可以使用 rsync,耗時跟網絡相關。使用 xtrabackup,耗時主要在備份和網絡傳輸。如果有全備或者指定庫的備份文件,這是獲取備份的最好方法。如果備庫可以容許停止服務,直接拷貝數據目錄是最快的方法。如果備庫不允許停止服務,我們可以使用 xtrabackup(不會鎖定 InnoDB 表),這是完成備份的最佳折中辦法。
另一方面,**恢復**。針對小容量(10GB 以下)數據庫的備份文件,我們可以直接導入。針對大容量數據庫(數百GB 或者 TB 級別)的恢復,拿到備份文件到本機以后,恢復不算困難。具體的恢復方法可以參考第四節。