同事给我打电话说MySQL团购数据库主从不同步了,尼玛,咋就这么苦逼呢,好吧,速度开电脑拨VPN解决。
1、登录从库查看主从同步状态,确实是否不同步
mysql> show slave statusG
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: 10.10.0.236
Master_User: slave
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.001501
Read_Master_Log_Pos: 144001931
Relay_Log_File: mysql-relay-bin.000296
Relay_Log_Pos: 144002077
Relay_Master_Log_File: mysql-bin.001501
Slave_IO_Running: No
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB: mysql,information_schema,performance_schema,test
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 144001931
Relay_Log_Space: 144002276
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 1236
Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: "Client requested master to start replication from impossible position"
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 2
1 row in set (0.00 sec)看来尼玛确实出问题了,查看从库错误日志:
[root@tg_0_zjc tuan]# tail -n 30 logs/mysqld.log
130619 22:23:36 [Note] Slave SQL thread initialized, starting replication in log "mysql-bin.001343" at position 107, relay log "./mysqld-relay-bin.000001" position: 4
130619 22:23:36 [Note] Slave I/O thread: connected to master "slave@10.10.0.236:3306",replication started in log "mysql-bin.001343" at position 107
130620 14:04:21 [Note] Slave: received end packet from server, apparent master shutdown:
130620 14:04:21 [Note] Slave I/O thread: Failed reading log event, reconnecting to retry, log "mysql-bin.001343" at position 2544563
130620 14:04:21 [ERROR] Slave I/O: error reconnecting to master "slave@10.10.0.236:3306" - retry-time: 60 retries: 86400, Error_code: 2003
130620 14:13:45 [Note] Slave: connected to master "slave@10.10.0.236:3306",replication resumed in log "mysql-bin.001343" at position 2544563
130623 22:04:17 [ERROR] Error reading packet from server: Lost connection to MySQL server during query ( server_errno=2013)
130623 22:04:17 [Note] Slave I/O thread: Failed reading log event, reconnecting to retry, log "mysql-bin.001402" at position 121870679
130623 22:04:20 [ERROR] Slave I/O: error reconnecting to master "slave@10.10.0.236:3306" - retry-time: 60 retries: 86400, Error_code: 2003
130623 22:08:29 [Note] Slave: connected to master "slave@10.10.0.236:3306",replication resumed in log "mysql-bin.001402" at position 121870679
130623 22:08:29 [ERROR] Error reading packet from server: Client requested master to start replication from impossible position ( server_errno=1236)
130623 22:08:29 [ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: "Client requested master to start replication from impossible position", Error_code: 1236
130623 22:08:29 [Note] Slave I/O thread exiting, read up to log "mysql-bin.001402", position 121870679
130623 22:26:29 [Note] Error reading relay log event: slave SQL thread was killed
130623 22:26:34 [Note] "CHANGE MASTER TO executed". Previous state master_host="10.10.0.236", master_port="3306", master_log_file="mysql-bin.001402", master_log_pos="121870679". New state master_host="10.10.0.236", master_port="3306", master_log_file="mysql-bin.001403", master_log_pos="107".
130623 22:26:42 [Note] Slave SQL thread initialized, starting replication in log "mysql-bin.001403" at position 107, relay log "./mysqld-relay-bin.000001" position: 4
130623 22:26:42 [Note] Slave I/O thread: connected to master "slave@10.10.0.236:3306",replication started in log "mysql-bin.001403" at position 107
130629 12:04:21 [ERROR] Error reading packet from server: Lost connection to MySQL server during query ( server_errno=2013)
130629 12:04:21 [Note] Slave I/O thread: Failed reading log event, reconnecting to retry, log "mysql-bin.001501" at position 144001931
130629 12:04:24 [ERROR] Slave I/O: error reconnecting to master "slave@10.10.0.236:3306" - retry-time: 60 retries: 86400, Error_code: 2003
130629 12:08:33 [Note] Slave: connected to master "slave@10.10.0.236:3306",replication resumed in log "mysql-bin.001501" at position 144001931
130629 12:08:33 [ERROR] Error reading packet from server: Client requested master to start replication from impossible position ( server_errno=1236)
130629 12:08:33 [ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: "Client requested master to start replication from impossible position", Error_code: 1236
130629 12:08:33 [Note] Slave I/O thread exiting, read up to log "mysql-bin.001501", position 144001931
130629 22:10:08 [Note] Error reading relay log event: slave SQL thread was killed
130629 22:10:12 [Note] Slave SQL thread initialized, starting replication in log "mysql-bin.001501" at position 144001931, relay log "./mysqld-relay-bin.000296" position: 144002077
130629 22:10:12 [Note] Slave I/O thread: connected to master "slave@10.10.0.236:3306",replication started in log "mysql-bin.001501" at position 144001931
130629 22:10:12 [ERROR] Error reading packet from server: Client requested master to start replication from impossible position ( server_errno=1236)
130629 22:10:12 [ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: "Client requested master to start replication from impossible position", Error_code: 1236
130629 22:10:12 [Note] Slave I/O thread exiting, read up to log "mysql-bin.001501", position 144001931尝试更改position位置恢复:
mysql> slave stop;
Query OK, 0 rows affected (0.01 sec)
mysql> change master to master_host="10.10.0.236", master_Port=3306, master_user="slave", master_password="123456", master_log_file="mysql-bin.001501", master_log_pos=144001931;
Query OK, 0 rows affected (0.05 sec)
mysql> slave start;
Query OK, 0 rows affected (0.00 sec)
mysql> show slave status G
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: 10.10.0.236
Master_User: slave
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.001501
Read_Master_Log_Pos: 144001931
Relay_Log_File: mysqld-relay-bin.000001
Relay_Log_Pos: 4
Relay_Master_Log_File: mysql-bin.001501
Slave_IO_Running: No
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB: mysql,information_schema,performance_schema,test,mysql,information_schema,performance_schema,test
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 144001931
Relay_Log_Space: 107
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 1236
Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: "Client requested master to start replication from impossible position"
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 2
1 row in set (0.00 sec)坑爹啊,还是不行,查看主库的binlog日志,按照错误点的标记去主库的日志中查找:
[root@tg_0_zq ~]# /usr/local/mysql/bin/mysqlbinlog --start-position=144001931 /data/mysql/mysql-bin.001501
/*!40010 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 40019
#130629 12:00:50 server id 2 end_log_pos 107 Start: binlog v 4, server v 5.5.15-log created 130629 12:00:50
# Warning: this binlog is either in use or was not closed properly.
BINLOG "
8lvOUQ8CAAAAZwAAAGsAAAABAAQANS41LjE1LWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAVAAEGggAAAAICAgCAA==
"/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;找到和出错最近的那个点,重新change master,把position止到这个位置:
mysql> change master to master_host="10.10.0.236", master_Port=3306, master_user="slave", master_password="123456", master_log_file="mysql-bin.001501", master_log_pos=40019;
Query OK, 0 rows affected (0.00 sec)
mysql> slave start;
Query OK, 0 rows affected (0.00 sec)
mysql> show slave status G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.10.0.236
Master_User: slave
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.001502
Read_Master_Log_Pos: 204293576
Relay_Log_File: mysqld-relay-bin.000003
Relay_Log_Pos: 28179632
Relay_Master_Log_File: mysql-bin.001502
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:尼玛,终于好使了,关机睡觉。推荐阅读:Ubuntu下Nginx做负载实现高性能WEB服务器5---MySQL主主同步 http://www.linuxidc.com/Linux/2012-06/61687p5.htm生产环境MySQL主主同步主键冲突处理 http://www.linuxidc.com/Linux/2013-07/86890.htm生产环境MySQL主主同步主键冲突处理Oracle 10g依然可以启动手动归档相关资讯 MySQL主从
- MySQL主从环境下存储过程,函数, (今 07:26)
- 在 CentOS7 上部署 MySQL 主从 (08月20日)
- 恢复MySQL主从数据一致性的总结 (12/29/2015 22:14:15)
| - XtraBackup构建MySQL主从环境 (09月01日)
- MySQL主从失败使用bin-log恢复 (02月20日)
- MySQL5.6 主从复制配置 (12/21/2015 19:10:09)
|
本文评论 查看全部评论 (0)