# 二 為什么要遷移
* * * * *
MySQL 遷移是 DBA 日常維護中的一個工作。**遷移,究其本義,無非是把實際存在的物體挪走,保證該物體的完整性以及延續性。**就像柔軟的沙灘上,兩個天真無邪的小孩,把一堆沙子挪向其他地方,鑄就內心神往的城堡。
生產環境中,有以下情況需要做遷移工作,如下:
* **磁盤空間不夠。**比如一些老項目,選用的機型并不一定適用于數據庫。隨著時間的推移,硬盤很有可能出現短缺;
* **業務出現瓶頸。**比如項目中采用單機承擔所有的讀寫業務,業務壓力增大,不堪重負。如果 IO 壓力在可接受的范圍,會采用讀寫分離方案;
* **機器出現瓶頸。**機器出現瓶頸主要在磁盤 IO 能力、內存、CPU,此時除了針對瓶頸做一些優化以外,選擇遷移是不錯的方案;
* **項目改造。**某些項目的數據庫存在跨機房的情況,可能會在不同機房中增加節點,或者把機器從一個機房遷移到另一個機房。再比如,不同業務共用同一臺服務器,為了緩解服務器壓力以及方便維護,也會做遷移。
一句話,遷移工作是不得已而為之。實施遷移工作,目的是讓業務平穩持續地運行。