有关mysql master 和slave同步数据库的问题
时间:2010-05-11
来源:互联网
环境 RHEL54 x64
自带的mysql
配置了主从
我发现如果从服务器不当机,数据都没有问题
如果从服务器关机,然后主服务器上插入多条记录,启动从服务器的时候就会报Duplicate entry错误,必须重新Change MASTER,slave的状态才能恢复正常,而且即使状态对了,数据库里还是少了主的几条记录,这是什么原因造成的
master状态
mysql> show master status\G
*************************** 1. row ***************************
File: master-bin.000006
Position: 54138
Binlog_Do_DB:
Binlog_Ignore_DB: mysql
1 row in set (0.01 sec)
slave:
mysql> stop slave;
Query OK, 0 rows affected (0.00 sec)
mysql> CHANGE MASTER to MASTER_LOG_FILE='master-bin.000006',MASTER_LOG_POS=54138;
Query OK, 0 rows affected (0.03 sec)
mysql> start slave;
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: 192.168.147.128
Master_User: rep
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: master-bin.000006
Read_Master_Log_Pos: 54138
Relay_Log_File: slave-relay-bin.000002
Relay_Log_Pos: 236
Relay_Master_Log_File: master-bin.000006
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: redcap
Replicate_Ignore_DB: mysql
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: 54138
Relay_Log_Space: 236
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
1 row in set (0.00 sec)
看状态都对,但是就是数据库里数据少了好几条。顺便说一下,我的数据库是phpwind(一个论坛)的数据库,在关闭了从服务器以后我在一个版块发了六个帖子,但是从服务器启动起来强制同步数据后我只看见2个帖子
作者: 冷风 发布时间: 2010-05-11
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
server-id=1
log-bin=master-bin
log-bin-index=master-bin.index
set-variable=binlog-ignore-db=mysql
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
slave的my.cnf设置
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
server-id=2
master-host=192.168.147.128
master-user=rep
master-password=rep
master-port=3306
set-variable=replicate-ignore-db=mysql
set-variable=replicate-do-db=redcap
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin.index
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
作者: 冷风 发布时间: 2010-05-11
作者: jerrywjl 发布时间: 2010-05-11
作者: xiao7ng 发布时间: 2010-05-11
作者: 冷风 发布时间: 2010-05-11
作者: 冷风 发布时间: 2010-05-11
作者: vermouth 发布时间: 2010-05-11
2.看看你的文件系统是不是存在某些方面的问题
3. 看看现在的MYSQL是不是存在复制方面的BUG.
作者: yueliangdao0608 发布时间: 2010-05-11
2 文件系统没问题
3 不清楚,我现在打算下个源码编译看看
作者: 冷风 发布时间: 2010-05-11
作者: jerrywjl 发布时间: 2010-05-11
作者: coco520 发布时间: 2010-05-11
测试了好几遍,关闭从服务器的mysql,在主服务器的web上发表过个帖子再回复,然后启动slave mysql,从服务器同步一切正常,没有再出现类似的错误
看来是rhel5自带的mysql 5.0.77有问题了。
我只是简单定位,希望有经验的人能从代码上解释清楚
或者明确mysql 5.0.77是否存在复制的bug
作者: 冷风 发布时间: 2010-05-11
作者: 冷风 发布时间: 2010-05-11
作者: mengbi 发布时间: 2010-05-12
作者: vermouth 发布时间: 2010-05-12
作者: dotone 发布时间: 2010-05-12
作者: witer666 发布时间: 2010-05-12
没想到在这里还能看到冷风兄

作者: tianxin1017 发布时间: 2010-05-13
master的my.cnf上加入参数
auto_increment_offset = 1
auto_increment_increment = 2
slave的my.cnf上加入参数
auto_increment_offset = 2
auto_increment_increment = 2
详细参考:http://blog.yahunet.com/post-34.html
作者: linjingmin2002 发布时间: 2010-05-15
经常主机或者从机,网络断线再重新连上之后,就会duplicate entry 1062错误,非常容易出现。
查了原因是从机是先执行sql再更新binlog状态值,所以断线时如果只执行了sql但没更新进binlog,再重启时会再执行一次binlog,就会duplicate了。
所以我现在从库只是用来给运营作一些查询,根本不敢用作业务系统,感觉mysql的replication机制不太稳定。实在做不到一duplicate就要手工处理,累死了。。。
作者: pureqi 发布时间: 2010-09-15
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28