gpt4 book ai didi

mysql - 是否可以要求 ProxySQL 在读取时使用特定的 GTID?

转载 作者:行者123 更新时间:2023-11-29 15:45:41 24 4
gpt4 key购买 nike

我们有一个应用程序向 ProxySQL 发出写入,然后立即执行可能受写入影响的读取。 ProxySQL 后面是四台 MySQL 服务器 - 一台写入器和三台从写入器复制的读取器。

现在,ProxySQL 能够通过记录原始写入的 OK 数据包中发回的 GTID 以及来自读取器的 binlog feed 来确保它选择“最新”读取器,以确保它选择一个已执行了该操作的读取器。已经写了。

我们的问题是,由于我们的拓扑结构,读取实际上可能通过与写入不同的连接到达 ProxySQL。因此,“读取”连接可能持有较旧的 GTID,因此可能会选择尚未发生写入的“不是最新”读取器。

如果可以告诉 ProxySQL 确保读取器是最新的“指定”GTID(我们自己从 OK 数据包中解析出来的 GTID)而不是连接上的 GTID,我们可以看到一种可能的解决方案,但是我们不知道我们是否可以做到这一点 - 我在文档中看不到任何内容。

任何关于可行解决方案的想法都将受到非常欢迎!

我们使用的是 mySQL 5.7.25 和 ProxySQL 版本 2.0.3-29-g00f26d5。

目前我们的结果是,我们经常先执行写入,然后执行读取,但读取返回的是写入之前存在的状态。

最佳答案

我的理解是,当满足某些情况时,proxysql 支持开箱即用的 GTID 一致。

  1. binlog_format 为 ROW
  2. 在后端session_track_gtids设置为OWN_GTID
  3. 后端服务器上存在proxysql的监控用户
  4. mysql_replication_hostgroups 也已设置

关于mysql - 是否可以要求 ProxySQL 在读取时使用特定的 GTID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57079671/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com