123sw 发表于 2018-10-2 14:16:25

MySQL主从不同步问题解决

这篇文章主要记录一次服务器异常关机导致的,MySQL主从不同步的异常情况处理。  因机房进行搬迁,机房人员在未通过系统关机的情况下,强行断电关机,导致数据库主从出现不同步的情况,并出现数据不同步的情况。
  

  **对于不同步的处理方式:**
  Mysql主从不同步主要在从机上执行show slave status\G主要查看以下两个参数
  

  Slave_IO_Running: Yes
  Slave_SQL_Running: Yes
  两个参数必须都是yes才为同步成功。接下来分析下那个参数为no的情况
  1、Slave_IO_Running: NO的情况分析
  1)首先检查主从的server_id、server_uuid是否重复,具体是主从机器上都执行以下命令
  show variables like 'server_id';
  show variables like 'server_uuid';
  如果server_id一样就修改my.cnf文件重新配置server_id,修改后重启mysql服务。
  如果server_uuid一样就修改mysql data 目录下auto.cnf 文件中uuid的值,使两台mysql不同即可,修改后重启mysql服务。
  2)如果是自己搭建虚拟机环境克隆主机小心server_uuid会是一样的。
  接着检查主机的网络是否通畅。具体可以使用ping ip;测试通信。
  3)查看master_log_file,master_log_pos两个参数是否和slave同步。
  如果不同步了就重新执行下
  stop slave;
  change master to master_host='172.16.1.101',master_log_file='mysql-bin.000001',master_log_pos=120;
  start slave;
  以上情况都不是就查看slave机器的日志文件。
  2、Slave_SQL_Running: No
  解决:首先登录从机mysql –uroot-h 127.0.0.1执行以下命令
  stop slave;
  set global sql_slave_skip_counter =1;
  start slave;
  注:如果错误过多,可以在my.cnf中添加slave-skip-errors=all
  3、2个参数都为NO
  检查连接的mysql主机是否正常连接。

  3、ERROR 1872 (HY000): Slave failed to initialize>  做从机的时候relay_log地址配有配置。
  对于数据不同步的情况,因只有一个库文件存在不同步的情况,并且该库不太常用,我的处理办法比较极端,直接将从库数据文件删除,从主库重新复制到从库。


页: [1]
查看完整版本: MySQL主从不同步问题解决