mysql通过拷贝文件实现数据快速迁移实例
最近在做监控DB的迁移,由于数据量非常大,采用直接拷贝从机数据目录的方式,操作过程有几个注意事项,记录下来,以备后用:
操作步骤:
1、停掉从机的SQL线程,并将 innodb_max_dirty_pages_pct并将参数设置为0,使用SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_pages_dirty';为0的时候。如果可以的话,最好将从机mysql进程停掉;
2、进行数据拷贝,scp或者rsync都可以,推荐rsync;
3、设置数据目录的属组和属主
chown -R mysql.mysql MYSQL_DATA_DIR
4、修改配置文件,修改server_id,添加 skip-slave-start到【mysqld】下面,防止启动的时候自动启动复制
5、修改server的uuid,修改方法如下:
修改auto.cnf,修改里面的uuid的值,保证各个db的uuid不一样就OK,如果没有修改启动后和从机建立复制关系的时候会出现如下报错:
Last_IO_Errno: 1593
Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
6、启动mysql后,建立同步关系,即完成数据的迁移。