# 二 为什么要迁移
* * * * *
MySQL 迁移是 DBA 日常维护中的一个工作。**迁移,究其本义,无非是把实际存在的物体挪走,保证该物体的完整性以及延续性。**就像柔软的沙滩上,两个天真无邪的小孩,把一堆沙子挪向其他地方,铸就内心神往的城堡。
生产环境中,有以下情况需要做迁移工作,如下:
* **磁盘空间不够。**比如一些老项目,选用的机型并不一定适用于数据库。随着时间的推移,硬盘很有可能出现短缺;
* **业务出现瓶颈。**比如项目中采用单机承担所有的读写业务,业务压力增大,不堪重负。如果 IO 压力在可接受的范围,会采用读写分离方案;
* **机器出现瓶颈。**机器出现瓶颈主要在磁盘 IO 能力、内存、CPU,此时除了针对瓶颈做一些优化以外,选择迁移是不错的方案;
* **项目改造。**某些项目的数据库存在跨机房的情况,可能会在不同机房中增加节点,或者把机器从一个机房迁移到另一个机房。再比如,不同业务共用同一台服务器,为了缓解服务器压力以及方便维护,也会做迁移。
一句话,迁移工作是不得已而为之。实施迁移工作,目的是让业务平稳持续地运行。