问题标签 [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.
mysql - 如何在 Docker 上使用默认配置连接到 ProxySQL
我安装了 docker,得到了最流行的带有 proxySQL 的盒子。
然后我尝试从我的本地 mysql 连接到它,如下所示:
我收到了这个错误:
我用 docker images 尝试了这个技巧,twindb/proxysql:latest
结果prima/proxysql:latest
是一样的:(
python - 如何从应用程序连接到 ProxySQL
我在 3 个节点(节点 1、节点 2、节点 3)中运行 Percona XtraDB 集群。我已经在第 4 个节点(管理员)中配置了 ProxySQL。
我有一个尝试访问集群的 python 应用程序代码。
在连接到 node1 的 3306 端口时,我能够连接。
为了实现负载均衡,应用程序应指向 ProxySQL 端口 6032。
在尝试连接时,我收到以下错误:
我在proxysql中使用了grant privilages命令
不幸的是,我收到以下错误,
如我错了请纠正我。
我应该使用其他配置连接到 Percona XtraDB 集群吗?
mysql - 写入只读从站上的表
我有一个 MySQL 主从复制设置,其中从属被标记为只读 = ON。我有一些存储过程,我想通过 ProxySQL 路由到从属服务器,并且不想在主服务器上运行。如果出现任何异常,每个存储过程都会使用异常记录存储过程记录到异常记录表中。我可以将此定义者设置为 root 或其他具有 SUPER 权限的用户。但是,当同一组主键自动增量值将从主键同步到此异常表时,这会破坏复制。
使用复制忽略表有意义吗?基于 ROW 的复制有多安全?请建议是否有更好的方法来做到这一点。
docker - yum install 不能从 Dockerfile 工作
我试图为 ProxySQL 创建一个 Docker 映像。以下是我的DockerFile
我试图用下面的命令构建图像
但我可以它不能proxysql
使用命令安装包,yum
如Dockerfile
. 以下是下面的消息
如果我在命令yum install proxysql
行中执行命令,它工作正常。但是从Dockerfile
,它找不到包。请注意,我已经为proxysql
in启用了 repo/etc/yum.repos.d
解决问题的任何建议
mysql - 在数据库集群前使用 proxysql 时是否需要复制用户凭据?
我已经在一个网络上建立了一个 Percona Xtradb 集群,该集群有 5 个节点,该网络也有一个 ProxySQL 服务器。我有 ProxySQL 工作,我可以在端口 6032 上登录管理界面并管理它,我也可以通过端口 6033 登录,连接到集群。
问题(至少在我看来)是我只能通过在 proxysql 级别复制集群的用户/通行证来通过代理到集群(端口 6033)。
我原以为有某种方法可以让凭据简单地通过代理传递到集群,或者至少有其他方法不必为这些连接存储用户/通过两点。
这完全是设计使然吗,我只是希望由于安全/实践等充分理由而不存在的东西,或者是否有某种方法可以改进此设置,而不必告诉 ProxySQL 我曾经需要的每个数据库用户访问集群数据库?
mysql - 如何在多个 MySQL 服务器之间划分 CRUD 操作?
比如说,我创建了一个服务于很多客户的产品(一个移动应用程序)。最初,我没有考虑数据合规性问题,而是将所有数据存储在一台服务器上。现在,这些客户希望数据合规,以便他们的数据存储在不同的服务器上。隔离这些数据并将其写入不同服务器的最佳方法是什么,而对应用程序的更改最少,这样我就可以与我的客户兼容并且不会产生很多成本?
可以在这里使用代理/负载平衡器吗?
我们可以假设我们在每个 CRUD 操作中获取客户端 ID,基于此我们可以在代理上编写一些规则,以将流量转移到为该客户端指定的数据库服务器。这意味着在对数据库执行 CRUD 操作之前,代理必须解析传入的语句并相应地路由它。
本质上,如果我有 3 个 ID 为 1、2 和 3 的客户端。我希望将数据库操作路由到客户端 1 的数据库 A、客户端 2 的数据库 B 和客户端 3 的数据库 C。
我认为这类事情可以用 HAProxy、nginx、ProxySQL 等来完成,但不太确定这是否可行。
这是大规模的可行选择还是其他方式?如果不是,那么应用程序中的更改最小的其他选项是什么。
编辑:数据库 A、数据库 B 和数据库 C 的架构完全相同。
proxysql - 使用 Proxy SQL 查询缓存
我正在尝试缓存两个巨大的查询。
我SELECT count_star,sum_time,hostgroup,digest,digest_text FROM stats_mysql_query_digest ORDER BY sum_time DESC;
可以看到这两个查询的摘要。
所以我做了:
INSERT INTO mysql_query_rules (active,digest,cache_ttl,apply) VALUES (1,'0x82796C80785917A6',60000,1);
INSERT INTO mysql_query_rules (active,digest,cache_ttl,apply) VALUES (1,'0xC31128202A53C473',60000,1);
LOAD MYSQL QUERY RULES TO RUNTIME; SAVE MYSQL QUERY RULES TO DISK;
但是这些查询仍然从后端返回,而不是从查询缓存中返回,正如我通过查看hostgroup
返回的
列所看到的那样SELECT count_star,sum_time,hostgroup,digest,digest_text FROM stats_mysql_query_digest_reset ORDER BY sum_time DESC;
我错过了什么吗?
mysql - 单主模式下 MySQL 组复制的 auto_increment_increment 值
我们正在设置这个服务器堆栈:
- 1 个 ProxySQL 服务器
- 2x MySQL 服务器
我们在“单主”模式下的 2 个 MySQL 服务器之间使用 MySQL 组复制。
使用此配置的 auto_increment_increment 的默认值为 7。
使用单主模式时将“auto_increment_increment”设置为 1 是否安全?
谢谢!
mysql - 使用 ProxySQL 缓存所有 SELECT
我花了几个小时设置 ProxySQL 来缓存所有选择,但查询规则没有命中。规则是这样设置的:
所有其他变量为 NULL 或 0,通过 ProxySQL 连接顺利,规则被加载到运行时。我只有一台后端服务器。
有人有想法吗?
proxysql - ProxySql 主节点不服务流量,直到从站被避开
我需要创建一个主机组,其中包含一个主机和 n 个从机。
我是否可以将其配置为所有请求将仅由从属数据库(而不是由主数据库)提供服务,直到且除非从属数据库被回避?