问题标签 [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 投票
0 回答
127 浏览

docker-swarm - Docker Swarm 是否有可用的 IPVS(IP 故障转移)?

最近我们一直在研究在 Docker Swarm 上使用 ProxySQL 运行 Percona 集群,以下指南供参考: https ://www.percona.com/blog/2016/06/14/scaling-percona-xtradb-cluster-proxysql-docker-一群/

由于 ProxySQL 是这个 Docker Stack 中的 SQL 负载均衡器,我该如何设置它以便我们可以在两个运行器节点上运行主动/被动 ProxySQL 容器,并且几乎可以立即进行故障转移,因此所有应用程序仍将使用相同的数据库主机名 / IP作为目标而不改变任何东西?

(请注意,我既不制定规则也不改变它,这是我们在 Docker Swarm 上提供 IP HA 的业务要求)

0 投票
0 回答
240 浏览

mysql - 无法使用 ProxySQL / MariaDb 复制安装 Prestashop - unable_to_parse_set_statement 错误

我正在尝试设置 Mariadb 复制环境以在多个数据库服务器上扩展 Prestashop 电子商务应用程序。

我的设置:

1 x Mariadb 10.4 Master,2 x Mariadb 10.4 Slaves(只读),1 x ProxySQL Loadbalancer

我已经通过为 master 创建一个 writer_hostgroup 为 slaves 创建一个 reader_hostgroup 来设置读/写拆分,并在代理上设置 Mariadb 用户连接到 ProxySQL 是好的,我可以在集群上执行写/读查询,所以一切看起来都很好配置给我。

但是当我尝试使用代理作为数据库服务器安装 Prestashop 时,安装开始并在 23% 处失败:

“无法安装“英语(英语)”语言

ProxySQL 错误日志显示:

我检查了应用程序,实际上有一个

安装过程中查询。

如果我通过使用 DB Master 节点作为 DB 服务器重新启动安装,一切都会顺利进行(我也可以在安装后将 DB 服务器切换回代理 IP,一切似乎都正常......)。

那么这实际上是 ProxySQL 问题还是我在这里遗漏了什么?

0 投票
1 回答
2157 浏览

mysql - 主机组中的 proxysql SHUNNED 服务器

我在 3 节点 galera-cluster 前面有 2 个 proxysql(2.0.13) + keepalived,并且 2 个 galera-nodes 在我的主机组 10 中显示为“SHUNNED”。我不知道为什么它们显示为“SHUNNED”他们永远不会恢复。

所以我希望这里有人可以帮助我将回避的服务器带回循环中。

我试过的: - 设置 var mysql-shun_on_failures = 5000 & mysql-shun_recovery_time_sec = 10 - 重启 proxysql 节点

我已经连接到主机组 10,并进行了一些查询,以触发恢复,但它们仍然被回避。

这是proxysql的一些信息

谢谢你们..

0 投票
1 回答
118 浏览

proxysql - ProxySql 连接管理到后端服务器不可用

在proxysql中,我们有用于访问后端数据库服务器的查询规则,即主(写/读)和辅助(读),但如果辅助关闭,那么查询将开始失败,但是如果辅助关闭,我们如何从proxysql管理它该流量仍应路由到主数据库而不是查询失败?

0 投票
1 回答
411 浏览

c++ - 为什么 jeprof 评估的 jemalloc 内存配置文件似乎显示了所有内存分配?

我们正在尝试追踪使用 jemalloc (5.2.0) 的 proxysql (2.0.14) 中的内存泄漏。我们在启用调试符号的情况下编译了 proxysql。烘焙到 proxysql中的 jemalloc 配置如下

内存分析在运行时启用,PROXYSQL MEMPROFILE START如下所示。这会将内存分析设置为active

这似乎在生成堆配置文件时起作用,但是当我们使用 jeprof 分析它们时,它似乎记录了所有内存分配,而不仅仅是内存泄漏。我们使用 jeprof 生成的 pdf 可以在这里找到。如您所见,jeprof 似乎显示了所有内存分配,而不仅仅是泄露的内存分配。

通过查看其他内存配置文件,它们显示的总内存量较小,而在此配置文件中,我们看到的总内存为 21GB,超过了服务器可以分配的内存量。但是,我们不确定问题出在哪里 - jeprof、配置或其他完全不同的东西。

作为参考,我们在此处添加了一个示例堆配置文件,以防万一这表明出了什么问题。

0 投票
1 回答
60 浏览

mysql - proxysql - 同时拥有主机组“-1”和“1”

我尝试使用以下命令使用 proxysql 缓存查询

之后我得到这个结果stats_mysql_query_digest

任何人都可以帮助我为什么我应该使用不同的主机组获得两条记录?我认为它应该只是-1主机组...

在此处输入图像描述

0 投票
1 回答
394 浏览

mysql - Spring boot 和 ProxySQL 一起用,有用吗?

我们一直在审查不同的软件来负载平衡我们的 Spring Boot 应用程序而不更改我们的应用程序,看起来这是最好的解决方案,不需要更改单行代码,只需连接到 proxysql 容器而不是 mysql 容器,它应该可以工作OOB。但是,我们无法使任何查询规则正常工作。

我们有几个 Spring Boot 应用程序,这是我的设置:(ProxySQL 是最新版本,Spring Boot 也是最新版本)

  1. 1个mysql 8.0.22 master和2个slave,都运行在不同的容器中
  2. 3个proxysql容器
  3. 3个mysql企业用户

在我的 proxysql conf 文件中,我将所有用户的默认组设置为写入组 (10),它是复制组中唯一的 master。从站的 read_only=1。

我的 Spring Boot 应用程序有 initSql 命令:

因此,如果我的应用程序中有上述 initSql 语句,则会出现以下错误:

如果我删除 initSql 语句,一切正常(因为所有 sql 语句都路由到主服务器)。

如果我添加一条规则,sql 是Select ?并将该规则路由到读取组,应用程序将无法启动。

再往下走,我有这个:

如果我禁用该规则,并启用另一个规则:

然后我会遇到与以下相同的错误SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';

(以上与任何命令无关SET,仍然失败)

也试过这个

还是一样的错误。

所以我根本无法让它工作。我是proxysql的新手,有没有人成功地将proxysql连接到spring boot应用程序?

谢谢

0 投票
0 回答
83 浏览

mysql - 从远程计算机连接 ProxySQL 的问题

我刚刚解决了我的问题,谢谢你的帮助!

我是一名开发人员,希望使用 ProxySQL 通过 ec2 实例连接到极光无服务器(mysql)。

ec2 实例在 Amazon Linux 2 上运行。

我尝试使用此命令从我的计算机连接。

但不断收到此错误。

所以我尝试检查所有可以阻止连接到服务器的设置,这里是我粘贴结果的链接。

  1. 来自服务器的 netstat -nlt:https ://pastebin.com/m5tkX2kf
  2. ProxySQL 的变量设置:https ://pastebin.com/MNJLHFQt
  3. AWS 安全组设置:https ://pastebin.com/EX4WtKtQ
  4. AWS 网络 ACL 设置:https ://pastebin.com/Re3MEs4Q
  5. 从我的电脑使用 namp 的结果:https ://pastebin.com/zStYLEsA

但仍然找不到我无法从桌面连接的原因。

你能告诉我为什么我无法连接以及我必须做什么吗?如果你让我知道如何解决它,我真的很感激。

非常感谢!

0 投票
1 回答
126 浏览

mysql - Proxysql 不会将数据发送到多数据库集群中的 MySQL 副本/从属服务器

TLDR;Proxysql 没有向副本或副本发送任何数据。master 工作得很好,replicas 都赶上了,但它们不服务流量。

概述:主要问题是没有流量流向副本:

  • 我们有 4 个 mysql 集群。每一个都有一个master和两个replica。
  • 复制品都赶上了主人并且复制得很好。
  • 我们现在正在使用... Drupal(叹气),所以我们每个集群有多个数据库。都有自己的 proxysql 用户和默认主机组。
  • Proxysql 在与副本的连接错误时显示 null。好像可以连接。
  • 但是所有的流量都只是击中了主人。它服务于所有选择、更新和删除语句。
  • 我们将主服务器和副本设置在他们自己的写入和读取组中(不是在同一个主机组中,因为我们希望手动指定哪个是主服务器,哪些是副本)。

问题:我们如何让数据到达我们的副本,而不仅仅是主节点?

配置:

0 投票
0 回答
59 浏览

mysql - ProxySQL 无法访问 RDS 编写器主机

我有一个 RDS MySQL 8.0.20 实例“database-1”(writer)及其只读副本“database-1-read-replica”(reader)。

我已经启动了一个配置了 ProxySql 的 EC2 实例。

我在proxysql的mysql_server表中配置了主机组id为10的“database-1”和主机组id为20的“database-1-read-replica”。

mysql_group_replication_hostgroups配置在下面提到

在此处输入图像描述 我还创建了一个用户名为“monitor”的监控用户。但是在将配置保存在磁盘上后,proxysql.log 中出现以下错误

用户 'monitor'@'ec2-instance-public-IP' 的访问被拒绝

ec2-instance-public-IP 指定 EC2 实例的公网 IP

另外,“database-1”的配置hostgroup_id保存后自动改为20(即reader的hostgroup id)