未分類 8 5 月 2020 mysql 使用主从复制的话, 如果某条更新写入了主库,而没有写入从库, 此时主库挂掉了,丢失了更新怎么办呢, 假如主库无法恢复 mysql 使用主从复制的话, 如果某条更新写入了主库,而没有写入从库, 此时主库挂掉了,丢失了更新怎么办呢, 假如主库无法恢复 資深大佬 : jdz 14 主从复制有同步异步不同的模式的吧,如果不能接受这种情况的话就只能用同步的模式了 大佬有話說 (18) 資深大佬 : m939594960 可以了解一下 MySQL Group Replication,这个就不会出现丢数据的情况了。 資深大佬 : wps353 主从复制有三种同步的方式:异步,半同步,全同步。如果你的数据很重要,那么配置全同步,这样数据写到从库才算完成了写操作。 資深大佬 : blackeeper 这个数据就丢了 資深大佬 : Jooooooooo @Jooooooooo #4 看 binlog 吧,主从复制貌似是根据 binlog 来的,如果 binlog 能恢复,从库应该没问题 資深大佬 : lewis89 有 binlog 的话 就有办法 資深大佬 : johnj 只有一个存储就没这个问题,可以参考阿里云的 polardb,看有没同类产品。 資深大佬 : ackoly 都在说 binlog,主的意思应该是事务指还没写入到从库 relay log,主库彻底挂掉什么都无法回复的情况 資深大佬 : hjahgdthab750 即使使用半同步,好像还是会有几率丢数据吧。目前最方便的不丢数据当然是 MGR ? 資深大佬 : hjahgdthab750 当然 > 方案 資深大佬 : hjahgdthab750 我觉得其实方案没有完美的,只有合适的。怎么办主要还是看你们的业务需求对丢数据的容忍度。而且恢复数据不一定从数据库层面的。还可以从硬盘层面和日志层面 資深大佬 : Kenyore 想要严格一致,就得忍受效率大降,可以等从库写入完成之后,主库才返回写入成功。 資深大佬 : luckyrayyy 异步就是这样呗,不过如果写入成功了,最终靠 binlog 能够实现最终的一致性。 資深大佬 : nicebird 配置为半同步,只要有一个 slave 同步成功,master 才会返回成功 資深大佬 : xizismile 方法很多,可以配置多个主库 資深大佬 : horkooo 用半同步 資深大佬 : Flourite 阿里的数据库容灾就是配置了 3 个主库 資深大佬 : DoUSeeMe @m939594960 您好,请问还在沈阳吗?我公司招能独立开发的人,不会人浮于事 資深大佬 : a1609 @a1609 #18 抱歉!已经找到工作了