您的位置:首页 > 数据库 > MySQL

处理mysql gtid模式下主从同步案例一则---主从数据不一致

2016-04-26 00:29 453 查看
问题描述:

有个网友在QQ群中问到:

GTID模式执行执行以下语句时从库出错,binlog_format=ROW

主库执行delete from mysql.user where password='';

root@localhost:mysqlbost3376.sock((none)) mysql> select user,host,password from mysql.user;

+------+--------------+-------------------------------------------+

| user | host | password |

+------+--------------+-------------------------------------------+

| root | localhost | *56033C33EE1C4388FE7520ssBFFA0AB1A9040EFC|

| bak | 192.168.17.3 | *2DB8F616A9DE1849577ss0B5EA50BD86E3533E0F |

+------+--------------+-------------------------------------------+

2 rows in set (0.00 sec)

从库复制出现以下错误

root@localhost:mysqlbost3376.sock((none)) mysql> show slave status \G;

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.17.2

Master_User: bak

Master_Port: 3376

Connect_Retry: 60

Master_Log_File: mysql3376-bin.000003

Read_Master_Log_Pos: 1605

Relay_Log_File: HZ_MYSQL_173-relay-bin.000002

Relay_Log_Pos: 942

Relay_Master_Log_File: mysql3376-bin.000003

Slave_IO_Running: Yes

Slave_SQL_Running: No

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 1032

Last_Error: Could not execute Delete_rows event on table mysql.user; Can't find record in 'user', Error_code: 1032; handler error

HA_ERR_KEY_NOT_FOUND; the event's master log mysql3376-bin.000003, end_log_pos 1536

Skip_Counter: 0

Exec_Master_Log_Pos: 724

Relay_Log_Space: 2034

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: 0

Last_IO_Error:

Last_SQL_Errno: 1032

Last_SQL_Error: Could not execute Delete_rows event on table mysql.user; Can't find record in 'user', Error_code: 1032; handler error

HA_ERR_KEY_NOT_FOUND; the event's master log mysql3376-bin.000003, end_log_pos 1536

Replicate_Ignore_Server_Ids:

Master_Server_Id: 7601

Master_UUID: 67baa19f-0aab-11e6-986e-141877594be2

Master_Info_File: /data/mysql/bost3376/bost3376data/master.info

SQL_Delay: 0

SQL_Remaining_Delay: NULL

Slave_SQL_Running_State:

Master_Retry_Count: 86400

Master_Bind:

Last_IO_Error_Timestamp:

Last_SQL_Error_Timestamp: 160425 14:15:58

Master_SSL_Crl:

Master_SSL_Crlpath:

Retrieved_Gtid_Set: 67baa19f-0aab-11e6-986e-141877594be2:1-4

Executed_Gtid_Set: 67baa19f-0aab-11e6-986e-141877594be2:1-3,6ddb6921-0aab-11e6-986f-141877584236:1

Auto_Position: 1

1 row in set (0.00 sec)

ERROR:

No query specified

从库user表内容如下:

root@localhost:mysqlbost3376.sock((none)) mysql> select user,host,password from mysql.user;

+------+----------------+-------------------------------------------+

| user | host | password |

+------+----------------+-------------------------------------------+

| root | localhost | *56033C33EE1C4388FE7520BdddFFA0AB1A9040EFC |

| root | hz\_mysql\_173 | |

| root | 127.0.0.1 | |

| root | ::1 | |

| | localhost | |

| | hz\_mysql\_173 | |

| bak | 192.168.17.3 | *2DB8F616A9DE18495770Bddd5EA50BD86E3533E0F |

+------+----------------+-------------------------------------------+

7 rows in set (0.00 sec)

从以上可以看到从库数据没有被删除。

问题分析:

从库的SQL线程报错:Could not execute Delete_rows event on table mysql.user; Can't find record in 'user', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the

event's master log mysql3376-bin.000003, end_log_pos 1536,先是猜测很大可能是因为主库和从库的user表中password为空的数据不同。由于主库的数据删除,只能请网友提供主库的

binlog日志解析,如下:

主库binlog日志:

# at 840

#160425 14:15:58 server id 7601 end_log_pos 1009 CRC32 0x2ae165ac Table_map: `mysql`.`user` mapped to number 1

# at 1009

#160425 14:15:58 server id 7601 end_log_pos 1536 CRC32 0x7ee67deb Delete_rows: table id 1 flags: STMT_END_F

### DELETE FROM `mysql`.`user`

### WHERE

### @1='hz\_mysql\_172' /* STRING(180) meta=65204 nullable=0 is_null=0 */

### @2='root' /* STRING(48) meta=65072 nullable=0 is_null=0 */

### @3='' /* STRING(41) meta=65065 nullable=0 is_null=0 */

### @4=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @5=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @6=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @7=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @8=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @9=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @10=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @11=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @12=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @13=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @14=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @15=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @16=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @17=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @18=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @19=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @20=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @21=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @22=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @23=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @24=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @25=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @26=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @27=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @28=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @29=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @30=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @31=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @32=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @33=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @34='' /* BLOB/TEXT meta=2 nullable=0 is_null=0 */

### @35='' /* BLOB/TEXT meta=2 nullable=0 is_null=0 */

### @36='' /* BLOB/TEXT meta=2 nullable=0 is_null=0 */

### @37=0 /* INT meta=0 nullable=0 is_null=0 */

### @38=0 /* INT meta=0 nullable=0 is_null=0 */

### @39=0 /* INT meta=0 nullable=0 is_null=0 */

### @40=0 /* INT meta=0 nullable=0 is_null=0 */

### @41='mysql_native_password' /* STRING(192) meta=65216 nullable=1 is_null=0 */

### @42='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */

### @43=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### DELETE FROM `mysql`.`user`

### WHERE

### @1='127.0.0.1' /* STRING(180) meta=65204 nullable=0 is_null=0 */

### @2='root' /* STRING(48) meta=65072 nullable=0 is_null=0 */

### @3='' /* STRING(41) meta=65065 nullable=0 is_null=0 */

### @4=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @5=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @6=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @7=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @8=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @9=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @10=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @11=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @12=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @13=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @14=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @15=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @16=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @17=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @18=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @19=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @20=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @21=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @22=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @23=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @24=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @25=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @26=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @27=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @28=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @29=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @30=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @31=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @32=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @33=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @34='' /* BLOB/TEXT meta=2 nullable=0 is_null=0 */

### @35='' /* BLOB/TEXT meta=2 nullable=0 is_null=0 */

### @36='' /* BLOB/TEXT meta=2 nullable=0 is_null=0 */

### @37=0 /* INT meta=0 nullable=0 is_null=0 */

### @38=0 /* INT meta=0 nullable=0 is_null=0 */

### @39=0 /* INT meta=0 nullable=0 is_null=0 */

### @40=0 /* INT meta=0 nullable=0 is_null=0 */

### @41='mysql_native_password' /* STRING(192) meta=65216 nullable=1 is_null=0 */

### @42='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */

### @43=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### DELETE FROM `mysql`.`user`

### WHERE

### @1='::1' /* STRING(180) meta=65204 nullable=0 is_null=0 */

### @2='root' /* STRING(48) meta=65072 nullable=0 is_null=0 */

### @3='' /* STRING(41) meta=65065 nullable=0 is_null=0 */

### @4=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @5=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @6=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @7=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @8=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @9=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @10=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @11=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @12=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @13=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @14=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @15=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @16=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @17=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @18=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @19=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @20=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @21=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @22=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @23=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @24=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @25=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @26=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @27=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @28=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @29=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @30=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @31=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @32=2 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @33=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @34='' /* BLOB/TEXT meta=2 nullable=0 is_null=0 */

### @35='' /* BLOB/TEXT meta=2 nullable=0 is_null=0 */

### @36='' /* BLOB/TEXT meta=2 nullable=0 is_null=0 */

### @37=0 /* INT meta=0 nullable=0 is_null=0 */

### @38=0 /* INT meta=0 nullable=0 is_null=0 */

### @39=0 /* INT meta=0 nullable=0 is_null=0 */

### @40=0 /* INT meta=0 nullable=0 is_null=0 */

### @41='mysql_native_password' /* STRING(192) meta=65216 nullable=1 is_null=0 */

### @42='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */

### @43=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### DELETE FROM `mysql`.`user`

### WHERE

### @1='localhost' /* STRING(180) meta=65204 nullable=0 is_null=0 */

### @2='' /* STRING(48) meta=65072 nullable=0 is_null=0 */

### @3='' /* STRING(41) meta=65065 nullable=0 is_null=0 */

### @4=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @5=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @6=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @7=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @8=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @9=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @10=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @11=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @12=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @13=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @14=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @15=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @16=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @17=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @18=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @19=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @20=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @21=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @22=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @23=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @24=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @25=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @26=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @27=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @28=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @29=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @30=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @31=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @32=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @33=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @34='' /* BLOB/TEXT meta=2 nullable=0 is_null=0 */

### @35='' /* BLOB/TEXT meta=2 nullable=0 is_null=0 */

### @36='' /* BLOB/TEXT meta=2 nullable=0 is_null=0 */

### @37=0 /* INT meta=0 nullable=0 is_null=0 */

### @38=0 /* INT meta=0 nullable=0 is_null=0 */

### @39=0 /* INT meta=0 nullable=0 is_null=0 */

### @40=0 /* INT meta=0 nullable=0 is_null=0 */

### @41='mysql_native_password' /* STRING(192) meta=65216 nullable=1 is_null=0 */

### @42=NULL /* STRING(192) meta=2 nullable=1 is_null=1 */

### @43=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### DELETE FROM `mysql`.`user`

### WHERE

### @1='hz\_mysql\_172' /* STRING(180) meta=65204 nullable=0 is_null=0 */

### @2='' /* STRING(48) meta=65072 nullable=0 is_null=0 */

### @3='' /* STRING(41) meta=65065 nullable=0 is_null=0 */

### @4=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @5=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @6=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @7=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @8=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @9=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @10=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @11=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @12=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @13=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @14=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @15=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @16=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @17=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @18=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @19=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @20=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @21=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @22=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @23=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @24=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @25=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @26=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @27=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @28=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @29=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @30=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @31=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @32=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @33=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

### @34='' /* BLOB/TEXT meta=2 nullable=0 is_null=0 */

### @35='' /* BLOB/TEXT meta=2 nullable=0 is_null=0 */

### @36='' /* BLOB/TEXT meta=2 nullable=0 is_null=0 */

### @37=0 /* INT meta=0 nullable=0 is_null=0 */

### @38=0 /* INT meta=0 nullable=0 is_null=0 */

### @39=0 /* INT meta=0 nullable=0 is_null=0 */

### @40=0 /* INT meta=0 nullable=0 is_null=0 */

### @41='mysql_native_password' /* STRING(192) meta=65216 nullable=1 is_null=0 */

### @42=NULL /* STRING(192) meta=2 nullable=1 is_null=1 */

### @43=1 /* ENUM(1 byte) meta=63233 nullable=0 is_null=0 */

# at 1536

#160425 14:15:58 server id 7601 end_log_pos 1605 CRC32 0xd39bc7e4 Query thread_id=5 exec_time=0 error_code=0

SET TIMESTAMP=1461564958/*!*/;

COMMIT

上面看到主库共删除了5条符合条件的记录,其中(以上标红色部分)@1='hz\_mysql\_172'的两条被删除的记录,与从库中查询user表内容的两条记录hz\_mysql\_173不一致,是引起报错的原

因。

问题解决:

Retrieved_Gtid_Set项:记录了relay日志从Master获取了binlog日志的位置

Executed_Gtid_Set项:记录本机执行的binlog日志位置(如果是从机,包括Master的binlog日志位置和slave本身的binlog日志位置)

此案例中,slave的相关值如下:

Retrieved_Gtid_Set: 67baa19f-0aab-11e6-986e-141877594be2:1-4

Executed_Gtid_Set: 67baa19f-0aab-11e6-986e-141877594be2:1-3,6ddb6921-0aab-11e6-986f-141877584236:1

在从库上操作:

stop slave;

set gtid_next='67baa19f-0aab-11e6-986e-141877594be2:1-4';

begin;commit;

set gtid_next="AUTOMATIC";

start slave;

然后再查看show slave status\G

QQ记录如下:

hz\_mysql\_173

杭州 14:52:44

这个应该是和ROW格式有关 为什么不支持这种写法 不是很清楚 望各位指点

佛山 15:01:01

应该不是不支持,是本身两边的数据库不一致吧

佛山 15:01:18

主库在删除前,有没有比较两边的数据是否相同

杭州15:02:03

一致

佛山15:02:46

这个报错就是从库数据不一致,SQL thread中断报错

佛山15:03:46

分析一下主库的binlog,看delete操作,操作了哪些记录

佛山15:03:56

然后与从库的记录比较一下

杭州15:06:13

是不是因为这个hz\_mysql\_172 主机名不一样

### DELETE FROM `mysql`.`user`

### WHERE

### @1='hz\_mysql\_172' /* STRING(180) meta=65204 nullable=0 is_null=0 */

杭州15:06:26

一个是172 一个是173

杭州15:09:57

主库是已经被我删除了

佛山15:11:28

能不能将完整的binlog中的delete日志发下

杭州15:13:23

难道是要主从所有的列值都一致从库才能删除

佛山 15:14:32

是的

佛山 15:14:38

要数据一致

佛山15:15:00

主库是172,从库是173

佛山15:15:05

值 不同

杭州15:15:47

行 谢谢啊

佛山15:15:50

杭州 15:33:55

已解决 谢谢

佛山15:35:40

不用客气
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: