# 五 注意事项
* * * * *
介绍完不同场景的迁移方案,需要注意如下几点:
* 数据库迁移,如果涉及事件,记住主节点打开 event_scheduler 参数;
* 不管什么场景下的迁移,都要随时关注服务器状态,比如磁盘空间,网络抖动;另外,对业务的持续监控也是必不可少的;
* CHANGE MASTER TO 的 LOG FILE 和 LOG POS 切记不要找错,如果指定错了,带来的后果就是数据不一致或者搭建主从关系失败;
* 执行脚本不要在 $HOME 目录,记住在数据目录;
* 迁移工作可以使用脚本做到自动化,但不要弄巧成拙,任何脚本都要经过测试;
* 每执行一条命令都要三思和后行,每个命令的参数含义都要搞明白;
* 多实例环境下,关闭 MySQL 采用 mysqladmin 的形式,不要把正在使用的实例关闭了;
* 从库记得把 read_only = 1 加上,这会避免很多问题;
* 每台机器的 server_id 必须保证不一致,否则会出现同步异常的情况;
* 正确配置 replicate-ignore-db 和 replicate-wild-do-table;
* 新建的实例记得把 innodb_file_per_table 设置为 1,上述中的部分场景,因为之前的实例此参数为 0,导致 ibdata1 过大,备份和传输都消耗了很多时间;
* 使用 gzip 压缩数据时,注意压缩完成后,gzip 会把源文件删除;
* 所有的操作务必在从节点或者备节点操作,如果在主节点操作,主节点很可能会宕机;
* xtrabackup 备份不会锁定 InnoDB 表,但会锁定 MyISAM 表。所以,操作之前记得检查下当前数据库的表是否有使用 MyISAM 存储引擎的,如果有,要么单独处理,要么更改表的 Engine。