处理mysqlgtid模式下主从同步案例⼀则---主从数据不⼀致
问题描述:
有个⽹友在QQ中问到:
GTID模式执⾏执⾏以下语句时从库出错,binlog_format=ROW
主库执⾏delete from mysql.user where password='';
)) 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)
从库复制出现以下错误
)) 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表内容如下:
)) 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 */
###  @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 */
mysql下载不了怎么办###  @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 */
###  @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 */

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。