mysql双主问题-紧急求助:生产环境,mysql双主结构,备机同步DDL语句成功,但是同步DML语句失败

问题描述

紧急求助:生产环境,mysql双主结构,备机同步DDL语句成功,但是同步DML语句失败

问题描述:双主架构环境,最近在主机上执行DDL语句能成功同步到备机,但是在主机上执行DML语句失败,请各位帮忙看一下,谢谢!
Linux版本:
Red Hat Enterprise Linux Server release 5.4 (Tikanga)
mysql版本
+----------------------------+
| @@version |
+----------------------------+
| 5.1.59 |
+----------------------------+

主机:192.168.0.100
备机:192.168.0.101
操作过程:
(1)在101上执行flush logs;
(2)在100上执行如下sql语句:
create table ttt(a int, b varchar(10));
insert into ttt values(1,'wxc'),(2,'wyh'),(3,'byq');
(3)在101上查看ttt的数据,结构只存在表结构,但是表中没有数据;
(4)查看101上的relaylog日志,发现如下信息:
11101 # at 102837
11102 #140430 9:52:10 server id 9 end_log_pos 97358117 Query thread_id=1498768873 exec_time=0 error_code=0
11103 use mgr/*!*/;
11104 SET TIMESTAMP=1398822730/*!*/;
11105 create table ttt(a int, b varchar(10))
11106 /*!*/;

11170 # at 103496
11171 # at 103540
11172 #140430 9:52:10 server id 9 end_log_pos 97358715 Table_map: mgr.ttt mapped to number 5791859673
11173 #140430 9:52:10 server id 9 end_log_pos 97358771 Write_rows: table id 5791859673 flags: STMT_END_F
11174
11175 BINLOG '
11176 SldgUxMJAAAALAAAAHuTzQUAANnDOFkBAAEAA21ncgADdHR0AAIDDwIeAAM=
11177 SldgUxcJAAAAOAAAALOTzQUAANnDOFkBAAEAAv/8AQAAAAN3eGP8AgAAAAN3eWj8AwAAAANieXE=
11178 '/*!*/;
11179 ### INSERT INTO mgr.ttt
11180 ### SET
11181 ### @1=1
11182 ### @2='wxc'
11183 ### INSERT INTO mgr.ttt
11184 ### SET
11185 ### @1=2
11186 ### @2='wyh'
11187 ### INSERT INTO mgr.ttt
11188 ### SET
11189 ### @1=3
11190 ### @2='byq'

从上面看,明显能看到ddl和dml语句的存在。

(5)在101上查看binlog日志中与ttt相关的内容,内容如下:
11042 # at 100405
11043 #140430 9:52:10 server id 9 end_log_pos 100510 Query thread_id=1498768873 exec_time=0 error_code=0
11044 use mgr/*!*/;
11045 SET TIMESTAMP=1398822730/*!*/;
11046 create table ttt(a int, b varchar(10))
11047 /*!*/;
但是没有发现任何插入表ttt相关的insert语句。

(6)查看了一下双主的slave状态,状态一切均正常,如下:
100状态如下:
admin@localhost : test 10:02:47> show slave statusG
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.0.101
Master_User: coolcloud
Master_Port: 3307
Connect_Retry: 60
Master_Log_File: mysql-bin.000375
Read_Master_Log_Pos: 3053614
Relay_Log_File: mysql-relay-bin.000774
Relay_Log_Pos: 251
Relay_Master_Log_File: mysql-bin.000375
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
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: 3053614
Relay_Log_Space: 449
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: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:

101状态如下:
admin@localhost : test 09:57:12> show slave statusG
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.0.100
Master_User: coolcloud
Master_Port: 3307
Connect_Retry: 60
Master_Log_File: mysql-bin.000393
Read_Master_Log_Pos: 98301418
Relay_Log_File: mysql-relay-bin.001058
Relay_Log_Pos: 925373
Relay_Master_Log_File: mysql-bin.000393
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
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: 98301418
Relay_Log_Space: 1046500
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: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:

请各位大拿帮忙看一下什么原因。
对了,忘记补充一个现象,从101的数据是能同步到100上的。

时间: 2024-11-02 10:50:01

mysql双主问题-紧急求助:生产环境,mysql双主结构,备机同步DDL语句成功,但是同步DML语句失败的相关文章

生产环境mysql主主同步主键冲突处理

收到短信报警,两台数据库都报slave同步失败了,先说明一下环境,架构:lvs+keepalived+amoeba+mysql,主主复制,单台写入, 主1:192.168.0.223(写) 主2:192.168.0.230 好吧,先show slave status \G看一下同步失败的具体报错吧 登录主2库查看: mysql> show slave status \G *************************** 1. row ***************************

脚本验证双密码的一致,求助个..

问题描述 脚本验证双密码的一致,求助个..脚本验证双密码的一致,求助个.. 解决方案 解决方案二:if(theForm.password.value!=theForm.repassword.value){alert('两次输入的密码不一致!')returnfalse;} 是这个意思嘛解决方案三: 解决方案四:引用1楼lxf001002的回复: JScriptcodeif(theForm.password.value!=theForm.repassword.value){alert('两次输入的密

hibernate 双主键表反向工程问题

问题描述 hibernate 双主键表反向工程问题 hibernate下双主键的表生成DAO和相关映像文件时如何把两个主键提取到一个类中,有没有能自动生成的,还是要自己写呀? 解决方案 http://blog.csdn.net/fycheung/article/details/7674185

MySQL数据库生产环境的维护工作总结的经验

 从过往MySQL数据库生产环境的维护工作中,总结的一些小经验和知识,未必有多深奥,但是对我们消除隐患,确保MySQL数据库生产环境四个9的作用非常有效之一的手段,运维人员要非常注意细节,尽量减低故障发生的概率. (一) DML语句书写建议 (1). DML语句不允许出现@number方式替代字段名称 不合理的写法: UPDATE table_name SET @1=NOW() WHERE @2=1; 正确的写法: UPDATE table_name SET column_name1=NOW()

MySQL双主高可用架构之MMM实战

MMM简介: MMM即Master-Master Replication Manager for MySQL(mysql主主复制管理器),是关于mysql主主复制配置的监控.故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),这个套件也能基于标准的主从配置的任意数量的从服务器进行读负载均衡,所以你可以用它来在一组居于复制的服务器启动虚拟ip,除此之外,它还有实现数据备份.节点之间重新同步功能的脚本. MySQL本身没有提供replication failover的解决方案,

生产环境使用 pt-table-checksum 检查MySQL数据一致性

公司数据中心从托管机房迁移到阿里云,需要对mysql迁移(Replication)后的数据一致性进行校验,但又不能对生产环境使用造成影响,pt-table-checksum 成为了绝佳也是唯一的检查工具. pt-table-checksum 是 Percona-Toolkit 的组件之一,用于检测MySQL主.从库的数据是否一致.其原理是在主库执行基于statement的sql语句来生成主库数据块的checksum,把相同的sql语句传递到从库执行,并在从库上计算相同数据块的checksum,最

Mysql + keepalived 实现双主热备读写分离

Mysql + keepalived 实现双主热备读写分离 架构图 系统:CentOS6.4_X86_64 软件版本:Mysql-5.6.12,Keepalived-1.2.7 环境简介: 1.Master-A 192.168.1.168 (Mysql+Keepalived) 2.Master-B 192.168.1.169 (Mysql+Keepalived) 3.写入VIP 192.168.100 (168主,169从) 4.读取VIP 192.168.200 (169主,168从) 此处略

mysql-【紧急求助】linux服务器MYSQL无规律的自动终止,导致网站无法运行

问题描述 [紧急求助]linux服务器MYSQL无规律的自动终止,导致网站无法运行 MYSQL没有任何规律的自动终止,研究了几天还没有解决,麻烦哪位大哥帮出点招 解决方案 可以写个脚本监控一下3306端口,如果mysql挂掉了就用脚本直接重启一下服务. 然后Linux定时任务每多长时间就去监控一下. 不过最终解决办法还是要找到为啥mysql会挂掉啊. 解决方案二: 是的,要找到原因,才能彻底解决这个问题 解决方案三: 估计是挂掉了,,,, 解决方案四: 要重装MYSQL? 昨天下午我从起服务器之

MySQL 数据库双主改造实例

 对于使用中的已有了一些数据库的 MySQL, 如何改造成双主呢? 这里写一篇文章, 详细记录操作步骤. 听取各位的意见.    这里假设有两台服务器: A 和 B. 要让他们互为主, 但实际使用时, 不同的服务器只服务不同的 db, 避免出现数据冲突. 1. 修改 NGINX 配置, 挂维护页    这一步很重要. 你需要告诉你的用户, 你的网站在维护, 同时要确保不会再出现数据库写操作.    另外, 还要停止 crontab 任务. 2. 备份数据库    Server A: mysqld