1
m939594960 2020-04-19 15:18:58 +08:00
主从复制有同步异步不同的模式的吧,如果不能接受这种情况的话就只能用同步的模式了
|
2
wps353 2020-04-19 15:26:38 +08:00 via Android
可以了解一下 MySQL Group Replication,这个就不会出现丢数据的情况了。
|
3
blackeeper 2020-04-19 15:41:28 +08:00
主从复制有三种同步的方式:异步,半同步,全同步。如果你的数据很重要,那么配置全同步,这样数据写到从库才算完成了写操作。
|
4
Jooooooooo 2020-04-19 15:43:47 +08:00
这个数据就丢了
|
5
lewis89 2020-04-19 16:40:29 +08:00
@Jooooooooo #4 看 binlog 吧,主从复制貌似是根据 binlog 来的,如果 binlog 能恢复,从库应该没问题
|
6
johnj 2020-04-19 17:13:14 +08:00
有 binlog 的话 就有办法
|
7
ackoly 2020-04-19 17:46:46 +08:00 via iPhone
只有一个存储就没这个问题,可以参考阿里云的 polardb,看有没同类产品。
|
8
qW7bo2FbzbC0 2020-04-19 22:24:03 +08:00 via Android
都在说 binlog,楼主的意思应该是事务指还没写入到从库 relay log,主库彻底挂掉什么都无法回复的情况
|
9
qW7bo2FbzbC0 2020-04-19 22:25:44 +08:00 via Android
即使使用半同步,好像还是会有几率丢数据吧。目前最方便的不丢数据当然是 MGR ?
|
10
qW7bo2FbzbC0 2020-04-19 22:26:09 +08:00 via Android
当然 > 方案
|
11
Kenyore 2020-04-19 23:22:12 +08:00
我觉得其实方案没有完美的,只有合适的。怎么办主要还是看你们的业务需求对丢数据的容忍度。而且恢复数据不一定从数据库层面的。还可以从硬盘层面和日志层面
|
12
luckyrayyy 2020-04-19 23:24:15 +08:00
想要严格一致,就得忍受效率大降,可以等从库写入完成之后,主库才返回写入成功。
|
13
nicebird 2020-04-20 00:02:27 +08:00
异步就是这样呗,不过如果写入成功了,最终靠 binlog 能够实现最终的一致性。
|
14
xizismile 2020-04-20 00:17:56 +08:00 via Android
配置为半同步,只要有一个 slave 同步成功,master 才会返回成功
|
15
horkooo 2020-04-20 08:21:10 +08:00 via Android
方法很多,可以配置多个主库
|
16
Flourite 2020-04-20 10:40:18 +08:00
用半同步
|
17
DoUSeeMe 2020-04-20 11:16:55 +08:00
阿里的数据库容灾就是配置了 3 个主库
|
18
a1609 2020-04-20 13:59:57 +08:00
@m939594960 您好,请问还在沈阳吗?我公司招能独立开发的人,不会人浮于事
|
19
m939594960 2020-04-20 15:15:36 +08:00
@a1609 #18 抱歉!已经找到工作了
|