问题标签 [proxysql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
864 浏览

proxysql - ProxySQL 设置主机组问题

这是关于 AWS 的这条指令。

https://aws.amazon.com/blogs/database/how-to-use-proxysql-with-open-source-platforms-to-split-sql-reads-and-writes-on-amazon-aurora-clusters/

我不确定 hostgroup_id 是否有问题。当我运行“SELECT hostgroup_id, hostname, status FROM mysql_servers;” ,它显示 10 表示主服务器,20 表示只读副本,但是,在我运行“LOAD MYSQL SERVERS TO RUNTIME; SAVE MYSQL SERVERS TO DISK;”,两台主机的hostgroup_id都变为20,正常吗?请指教。谢谢

0 投票
2 回答
324 浏览

mysql - 不稳定连接上主/从复制之间的 ProxySQL

我有两台 MySQL 服务器,它们之间有主/从复制。它们之间的连接是ADSL。它根本不可靠。我决定从另一个具有自己 IP 地址的 ISP 添加另一个 ADSL 连接。

问题是当一个 ADSL 连接断开时,另一个是无用的,因为从站正在使用第一个连接的 IP 地址,该地址现在已断开。

我想知道是否可以在它们之间放置一个proxysql节点并将其IP提供给从属。

proxysql 是否可以为同一个节点进行故障转移连接处理?当第一个 IP 地址不可用时,Proxysql 必须选择第二个 IP 地址。

0 投票
0 回答
278 浏览

mysql - ProxySQL 主备设置

我的设置:

使用第三方 Tungsten Replicator 运行 Master-Master 复制的两台 MySQL 服务器(由于遗留原因,现在无法更改)。

通常,此集群用作 Active-Standby。在正常操作中,所有查询都应该到达第一台服务器。只有在第一个数据库服务器失败的情况下,查询才应该命中辅助服务器。Master-Master 是为了方便不使用任何主故障转移脚本。如果主服务器重新联机,则应将所有查询发送给它。

我现在正在使用在活动-待机模式下配置的 Galera 负载均衡器,并进行简单的健康检查(x 次没有 mysql ping = 跳过此服务器),它工作正常。

问题:

我想将 glbd 迁移到 ProxySQL 并复制我的设置。从两个不同权重的主机开始,即 100000 对 1。

Byt 显然 ProxySQL 使用它来衡量流量,100000 个查询进入主节点,下一个进入辅助节点,依此类推。当有时复制延迟很高时,它会导致问题,每 100000 个查询中有 1 个将访问可能有一些陈旧数据的辅助服务器。

如何配置 ProxySQL 以在运行状况检查正常时仅将所有查询发送到我的主服务器,并且仅在主服务器不健康时才将所有查询发送到辅助服务器?当主节点恢复正常时,所有查询都应该迁移到它。

0 投票
2 回答
447 浏览

go - Golang MySQL 驱动程序不允许使用 ProxySQL 更改数据库

我们正在尝试使用 GO 创建一个连接到 ProxySQL 的 Web 应用程序,该应用程序将根据 ProxySQL 中设置的 MySQL 查询规则依次连接到各种 MySQL 数据库服务器。

我们可以通过 linux 中的命令行连接到 ProxySQL,一切都按预期工作:

上述数据库位于物理上不同的服务器上。ProxySQL 中的规则知道如何路由它们。

连接到 ProxySQL 时,规则工作正常,我们连接到正确的数据库服务器,请求按预期处理。

当我们用 GO 和事务尝试相同的事情时,我们无法切换数据库,因为它返回数据库不存在。

数据库存在于后端服务器上,ProxySQL 会将流量定向到后端服务器。

无论出于何种原因,它都可以在命令行上运行,但不能在 GO 中运行

如果我们使用 GO 连接并在连接上指定数据库,然后断开连接并使用新的数据库连接重新连接,我们可以使其工作。

我们正在尝试使用连接池,这样我们就不会浪费时间打开和关闭连接。

ProxySQL 知道如何正确路由,但我们似乎无法让函数在 GOLANG 中正常工作

0 投票
2 回答
954 浏览

proxysql - 通过套接字连接到 ProxySQL - “没有这样的文件或目录”

我正在尝试使用本地套接字通过 mysqlnd 从 PHP 连接到 ProxySQL,但我得到了

“没有这样的文件或目录”

,因为套接字将不存在。相同的代码可以毫无问题地连接到mysql套接字。

基本上我正在复制以下描述的内容: https ://www.percona.com/blog/2017/09/19/proxysql-improves-mysql-ssl-connections/

这抛出:

套接字文件 (/tmp/proxysql.sock) 实际上在那里:

我可以使用 mysql 客户端通过它进行连接:

如果在上面的 PHP 代码中我用 MySQL 套接字替换了套接字文件,那么就可以了。只有 proxysql.sock 不能与 mysqlnd 一起使用。

我正在使用:mysqlnd 版本mysqlnd 5.0.12-dev - 20150407
ProxySQL 版本2.0.6

知道为什么 mysqlnd 不接受 proxysql.sock 吗?

更新:按照下面@EternalHour 的建议,我也尝试将proxysql.sock 文件移出/tmp,但不幸的是这并没有什么不同。我仍然收到同样的错误。

编辑(2019-10-08):事实证明这个问题与 PHP 无关,因为 netcat 也会抛出同样的问题,无论是 /tmp 还是 /var/sockets/ 中的套接字文件:

在 ProxySQL 集群的 3 个节点中,运行在相同操作系统、相同内核版本上的节点中,1 个存在此问题,另外 2 个允许连接到 /tmp/proxsql.sock 中的套接字文件,虽然也在那边,有时重新启动 ProxySQL 结果在被创建为私有的套接字文件中(例如,对其他应用程序不可用)

0 投票
1 回答
254 浏览

mysql - 配置文件中的 ProxySQL SSL 后端配置

使用 proxysql 2.0.8 (docker fewnines/proxysql:2.0.8),我正在努力为后端服务器(托管为托管云实例)配置 SSL。

最后 - 它在管理界面中发出以下 SQL 语句时起作用:

有没有办法use_ssl使用文件配置参数/etc/proxysql.cfg

0 投票
0 回答
264 浏览

mariadb - ProxySQL:如何配置故障转移?

如何配置 ProxySQL 以进行故障转移,独立于只读与否。在这种情况下,mysql_servers 中的参数“权重”不能正常工作。我有一些带有 master-master-replication 的节点(MariaDB 10.3),如果 node1 离线,node2 应该执行这些语句。如果 node1 回来了,它应该再次成为第一台服务器。使用我的设置(一个主机组中的所有 3 台服务器,仅具有不同的“权重”),故障转移可以工作,但故障转移后的第一条语句最多延迟 9 秒,如果 node1 恢复,第一台服务器仍保留在 node2 上。如何以最佳方式配置具有固定优先级的故障转移?应该在主机组还是在规则中完成?或者也许 ProxySQL 不可能?

PS:可能有类似的问题:ProxySQL active-standby setup

0 投票
1 回答
1056 浏览

mysql - 通过proxysql的mysql用户连接问题

对于通过 proxysql 连接的数据库用户,频繁访问被拒绝。

这是我的环境:

Azure ubunti 18.4 实例带三个mysql 8.018 版本主从

proxysql --version ProxySQL 版本 2.0.6-73-gc746bf7f,代号 Truls mysql 客户端是 mysql Ver 8.0.19 for Linux on x86_64 (MySQL Community Server - GPL)。

**我还将所有 mysql 节点配置参数中的密码身份验证值更改为

** 我仍然从代理 sql 连接到相同用户 ID 和密码的数据库服务器节点时遇到访问问题,有时它可以访问 mysql,有时它会拒绝访问。

此脚本有时会连接,有时无法访问并拒绝访问消息

错误 1045 (28000):ProxySQL 错误:用户 'app_user'@'10.5.0.80' 的访问被拒绝(使用密码:是)

0 投票
1 回答
135 浏览

proxysql - 在 Proxysql 插入中,Master 上没有发生更新

我已经用主从配置了 Proxysql。我只配置了一个从属设备并开启。而不是在主服务器上发生update,而是insert在从服务器上发生。我的 proxysql 服务器和从服务器是一样的。

我给出的查询规则是:

hostgroup id 0用于更新,1用于select.

一些供参考的结果是:

帮助我,以便我可以将我updateinsert查询转发到 127.0.0.1 的主服务器并select查询到 127.0.0.2 的从属服务器

0 投票
1 回答
2360 浏览

mysql - 为什么 ERROR 1045 (28000): Access denied in ProxySQL server?

我已经在 MySQL master 上设置了 proxysql 来进行读写分离。MySQL 主从,proxysql 服务器正在运行,但是,Access deniedproxysql 终端出现错误。

这是proxysql.log

我确定我可以使用proxysql中配置的用户名和密码连接到MySQL主从,如下所示:

这是因为我在 MySQL master 上安装了 proxysql 吗?有人知道出了什么问题吗?任何提示将不胜感激。