如果数据库主从半同步复制主库挂了怎么办

发布网友 发布时间:2022-04-23 16:59

我来回答

3个回答

热心网友 时间:2022-04-08 03:57

SetCellPosition 设置表示单元格的行号和列号 的 TableLayoutPanelCellPosition。 SetColumn 设置指定子 控件的列位置。 SetColumnSpan 设置子控件跨的列数。 SetRow 设置指定子控件的行位置。 SetRowSpan 设置子控件跨的行数。

热心网友 时间:2022-04-08 05:15

这种情况下需要有高可用。而且推荐配置主主半同步,这样两个数据处于同等地位。切换后还是保持不变。推荐看这篇博客很详细mysql半同步...

热心网友 时间:2022-04-08 06:50

问题

我们都知道,半同步复制中,如果 slave 比较慢,会拖慢 master 的提交性能。

那么,在一主多从的半同步架构中,如果 master 的提交性能慢,如何判断是哪个 slave 拖慢了性能?


实验

先通过 dbdeployer 快速搭建一主两从半同步集群:

下面给 master 施加一些压力:

然后我们用 strace,拖慢 slave2 的运行速度。

由于半同步复制的原因,现在 slave2 拖慢了 master 的提交性能。我们开始诊断,

设置半同步插件的日志级别为 16:

查看 master 的 error log:

大概扫一下 error log,如图举例,发现大部分半同步阻塞,最后收到的都是 server_id 为 300 的 slave。

而在我们的环境中,slave2 的 server_id 恰好是 300。

最后,记得将调整的日志级别调回来:

半同步插件并没有提供方便的方法查看各个 slave 谁拖慢了性能,所以我们通过调试日志来查看最后一个返回的 ack 都来自于哪台 slave。

大家使用此方法时,要注意调试日志的量比较大,不要开启太久以防占用过多磁盘。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com