这是另外一套主从架构。同事说空间使用82%了,让我看一下。后发现这个从库的同步存在问题。
http://blog.itpub.net/29500582/viewspace-1318552/
http://dinglin.iteye.com/blog/1236330
- mysql> show slave status \\G
- ***************** 1. row **********************
- Slave_IO_State: Waiting for master to send event
- Master_Host: 10.128.45.8
- Master_User: slave
- Master_Port: 3306
- Connect_Retry: 60
- Master_Log_File: mysql-bin.000036
- Read_Master_Log_Pos: 165692224
- Relay_Log_File: mysqld-relay-bin.000039
- Relay_Log_Pos: 177273627
- Relay_Master_Log_File: mysql-bin.000016
- Slave_IO_Running: Yes
- Slave_SQL_Running: No
- ... ...
- Last_Errno: 1051
- Last_Error: Error 'Unknown table 'storefeedback500.a1'' on query. Default database: 'storefeedback500'. Query: 'DROP TABLE `a1` /* generated by server */'
错误
消息,表a1曾经存在于在主服务器中并已被取消了,但是它没有在从属服务器中存在过,因此对于从属服务器,DROP TABLE失败。
很明显,同步出现问题:
使用mysqlbinlog查看日志(从4月28日下午到现在一直没有同步了,但中继日志都已在从库中生成):
我选择的解决方法
:
查看从库及其日志,已经开始正常复制
说明:今天发现最后一步不用做,设置完set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;后,开启slave后,该值自动变为0了。
很明显,同步出现问题:
- Slave_SQL_Running为No说明从库的SQL线程没有启动
- Read_Master_Log_File说明从库的IO线程当前正在读取的主库二进制日志的位置,在36
- Relay_Log_File说明从库的SQL线程当前正在读取中继日志的位置,在39
- 实际中继日志已经到99,说明已经有60(99-39)个中继日志没有在从库执行
- tail -3 mysqld-relay-bin.index
- ./mysqld-relay-bin.000097
- ./mysqld-relay-bin.000098
- ./mysqld-relay-bin.000099
- 对应的主库日志为16
- # at 177273464
- #150428 15:46:36 server id 1 end_log_pos 177273603 CRC32 0x1eccec59 Query thread_id=510660 exec_time=0 error_code=0
- SET TIMESTAMP=1430207196/*!*/;
- DROP TABLE `a1` /* generated by server */
- /*!*/;
- 从库的中继日志39,从库的SQL线程停止在此位置
- # at 177273627
- #150428 15:46:36 server id 1 end_log_pos 177273603 CRC32 0x1eccec59 Query thread_id=510660 exec_time=0 error_code=0
- SET TIMESTAMP=1430207196/*!*/;
- DROP TABLE `a1` /* generated by server */
- mysql> stop slave;
- Query OK, 0 rows affected (0.01 sec)
- mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
- Query OK, 0 rows affected (0.00 sec)
- mysql> start slave;
- Query OK, 0 rows affected (0.01 sec)
说明:今天发现最后一步不用做,设置完set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;后,开启slave后,该值自动变为0了。
参考:
http://blog.csdn.net/cheungjustin/article/details/6069117http://blog.itpub.net/29500582/viewspace-1318552/
http://dinglin.iteye.com/blog/1236330