佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 3245|回复: 9

【紧急求助】mysql replication 遇到奇怪问题!!!

[复制链接]
发表于 26-8-2014 09:56 AM | 显示全部楼层 |阅读模式
我有两个server 跑着mysql。
server A,server B

然后这两个server时时都有最update的data,两个server在不同的地点,而且两个server都能同时insert data。
所以我用 two way replication, 然后用 VPN link 起来。

server A set master to B
server B set master to A
server A 每天操作,server B 不定时操作(可能整个月都没操作)

就这样没问题的几个月直到有一天我发现 server B 的 data 不 synchronize, 我又重新set 过 server B set master to A 解决。还以为是个案。
没想到几个月后又同样的问题出现,server B 拿不到server A 的资料。 所以当下我就切断 VPN 同时把两个server 都执行 stop slave; 的 command

大问题出来了, 本来存在 server A 的 data , 差不多1000++个 row 不见了!!!


请求帮助
1. 如何防止 mysql replication 不synchronize的问题?
2. 就为了增加知识,为什么我执行 stop slave 会引发这些问题?


3. 我知道能从mysql-bin log 提取所有 SQL 的query记录已恢复数据。 而我也有哪些log。
但是看到的资料都很模糊,没有详细的步骤。请问如何使用mysqlbinlog 回复data?【已解决】


感激感激,谢谢!

本帖最后由 pohlee 于 27-8-2014 07:23 AM 编辑

回复

使用道具 举报


ADVERTISEMENT

发表于 26-8-2014 09:51 PM | 显示全部楼层
不是很熟replication ,好奇:
server A set master to B
server B set master to A

电脑怎么分辨那里是最新的?
回复

使用道具 举报

 楼主| 发表于 27-8-2014 06:03 AM | 显示全部楼层
gkheng2003 发表于 26-8-2014 09:51 PM
不是很熟replication ,好奇:

电脑怎么分辨那里是最新的?



没关系。。。
mysql 自带的功能,用bin log 来记录sql query 然后pass 给其他 server。。。

比如 我在server A 执行 insert, delete, update 他就会pass 那个 query 给server B 执行。。。这样是one way。。。
two way 的话也是一样的道理 。。。在server B 执行 insert, delete, update 他就会pass 那个 query 给server A 执行。。。

这样的话两边都能有相同的data了。。。
本帖最后由 pohlee 于 27-8-2014 06:06 AM 编辑

回复

使用道具 举报

发表于 27-8-2014 09:26 PM | 显示全部楼层
pohlee 发表于 27-8-2014 06:03 AM
没关系。。。
mysql 自带的功能,用bin log 来记录sql query 然后pass 给其他 server。。。

有没可能2边都在执行同一个record?
esp. transactional data?

好像和MSSQL 的publication 一样?

回复

使用道具 举报

发表于 16-7-2015 10:08 AM | 显示全部楼层
lz现在还在用着master-master rep吗?
回复

使用道具 举报

 楼主| 发表于 24-8-2015 10:26 AM | 显示全部楼层
stephen_88 发表于 16-7-2015 10:08 AM
lz现在还在用着master-master rep吗?




没了,现在改用 single master multi slave 了。
回复

使用道具 举报

Follow Us
发表于 26-8-2015 07:26 AM | 显示全部楼层
pohlee 发表于 24-8-2015 10:26 AM
没了,现在改用 single master multi slave 了。

multi salve,使用tools?
回复

使用道具 举报

发表于 30-10-2015 04:03 AM | 显示全部楼层
Master to master replication , 问题很大, concurrent update 可以让你哭了。  Master A delete row X , Master B delete row X, replicate 就撞死。要嘛你就skip replication error。

Mysql replication 懒惰的replicate Mysql  statement, 不是raw data sync , 你要来做 Sync 是很头痛的。好处是,你做SELECT update,replication Log 会很小。不过我宁愿要raw data sync, less surprise.
回复

使用道具 举报


ADVERTISEMENT

发表于 18-11-2015 09:25 AM | 显示全部楼层

还在采用传统的基于纸张的备份系统,以保持您的所有文件?
你应该停止这种行为了!cloud technology可以帮助您更有效的储存文件
http://blog.exabytes.com.my/2014/02/cloud-backup-service-bank
回复

使用道具 举报

发表于 7-8-2016 01:06 AM | 显示全部楼层
Master-Master Replicate一般上是为了防止主要的Master挂了,业务就跟着停止的问题而生的,但是由于是利用bin来透过网络分享资料,当M和M之间的网络有问题时,就会出现Replicate Error,然后Replicate就停止了。然后用了Master-Master Replicate就会开始浪费Autoincreament的ID啦。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 19-4-2024 10:25 AM , Processed in 0.068867 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表