mysql主从又不同步了

2012年8月23日 | 由 helight | 600字 | 阅读大约需要1分钟 | 归档于 linux 应用 | 标签 #shell

做了数据库的主从,以为就这样没事了,一直可以稳定的用下去,但是现实是多变的。

在主库上建了一个临时库,这个库确实不需要备份到从库去,是做数据中转的,但是mysql的主从很傻瓜化,从库上没有这个临时库,所以它不能同步主库其他的数据了,卡到了那里,从库上上去看的时候:

show slave status \G 
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
。。。。。
Relay_Log_Pos: 149705
Relay_Master_Log_File: mysql-bin.000013
Slave_IO_Running: Yes
Slave_SQL_Running: No
。。。。。
Last_Errno: 1008
Last_Error: Error 'Can't 。。。 Default database: ''. Query: '。。。'

所以从新修改了配置,把这个临时库也同步到从库了,现在从库上执行:

slave stop;

让后设置忽略这个错误:

set global sql_slave_skip_counter=1;

让后启动

slave start;

但是这个错误操作之前累计了好多了,我也没有认真看slave的staus;

所以就重复的执行了上面三个命令,结果是很费劲,所以一下子设置了跳过1900个,这样设置从库的状态是没有问题了,但是结果是悲惨的,看status是Skip_Counter: 1352,这么多,意味着什么呢?就是主库的后面1352条sql语句,从库都不用执行,直接跳过了。

而我恰恰就忽略了这个问题,昨天把数据库放出去使用了,结果今早来发现从库又不同步了(有建库,建表操作),仔细一想就是这个原因了,所以从新设置主从,从新同步数据。