mysql masterslave replication模式下slave数据库不同步的解决办法

可能是有人在我们集群的一个slave节点上对备份数据库单独做了写操作,导致该slave节点数据库与master不同步:

mysql>show slave status;

  显示:Slave_SQL_Running状态为No,由于一直没有记录数据库的相关日志,二进制的备份文件和位置也搞得稀里糊涂,干脆直接干掉这个节点的备份,重新配置。

过程:

1. 锁定master表为只读:

#锁定master数据库表
MYSQL>FLUSH TABLES WITH READ LOCK;

2. 导出要备份的数据库:

[user@gisnode-1 ~]$ mysqldump -u myuser -p gisdb>gisdb.sql
Enter Password:

3. 导入到slave节点

#新建一个数据库
mysql>create database gisdb;
mysql>use gisdb;
mysql>source gisdb.sql;

4. 关掉Slave,将主机日志文件和位置信息读入从机

mysql > stop slave;
mysql > change master to master_host='192.168.19.1', master_user='myuser', master_password='mypassword', master_log_file='mysql-bin.000023', master_log_pos=107;
mysql > start slave;
mysql> show slave status\G;

5. 若Slave_IO_Running和Slave_SQL_Running均为Yes代表配置成功。

原文地址:https://www.cnblogs.com/yeahgis/p/2501112.html