问题标签 [maxscale]
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 - maxscale 不拆分选择查询
我有 2 个 mariadb 实例主实例和一个从属实例。复制是mixed
. SLAVE 滞后为 0Seconds_Behind_Master: 0
我有 maxscale 实例,它必须在主从之间拆分 SELECT 查询,但所有 SELECT 查询都发送到主控。
你能帮我解决这个问题吗?
这是我的maxscale.cnf
这是maxscale的启动消息
session - 在 maxscale 上的 mariadb 中显示详细的进程列表
在 mariadb 上,当我需要检查什么是查询正在运行或在 mariadb 实例上休眠时。我可以看到SHOW PROCESSLIST
or select * information_schema.processlist
。
但是在 mariadb 加入和客户端连接到 maxscale 之后,我看不到进程列表,SHOW PROCESSLIST
例如select * information_schema.processlist
那么如果 mariadb 已经加入 maxscale ,如何检查查询会话?
这是配置 maxscale
有什么建议吗?
编辑。我已经在 maxscale 配置中更新了参数
查询已经从命令显示
但是每个会话的最后一次执行都有查询。SHOW PROCESSLIST
当我在 mariadb 上运行命令时,我看不到睡眠或仍在运行之类的不同。
maxscale - MaxScale 尝试对所有服务器中的用户进行身份验证
我正在尝试测试我们是否可以使用 MaxScale 2.4 将多个 MySQL 服务器添加到现有应用程序并使用模式名称将查询路由到适当的服务器。
我设置了 skip_authentication=true 让 MySQL 服务器处理身份验证。
我们使用 Vault 创建临时用户。当我使用 vault 将用户添加到其中一台服务器时,我可以使用 mysql cli 连接到 MaxScale;但是当我尝试运行查询时,它会失败,因为 MaxScale 正在尝试对所有服务器中的用户进行身份验证,并且它只存在于其中一个服务器上。
这是预期的行为吗?
mariadb - 如何在主从拓扑中配置两个数据中心
我正在尝试使用 mariadb、galera 和 maxscale 在两个数据中心之间插入数据。每个数据中心有三个节点,一个作为主节点,另外两个作为从节点。现在,如果我的第一个数据中心出现故障,我希望将我的数据插入到第二个数据中心。我的要求是将数据中心 1(DC1)的主节点配置为第二个数据中心(DC2)的主节点的从节点。我应该在 maxscale 中进行什么配置来实现它。任何链接都会有所帮助。
谢谢
failover - 为什么 Maxscale 不通过故障转移将 master 中的 slave 传递?
我刚刚设置了 MariaDB Eslace 和主服务器。我想使用故障转移功能,但是当我停止mariadb master服务时,MaxScale识别到它的停止并告诉我它将把slave切换到master......但是slave仍然处于slave状态。
maxscale.cnf:
猫 maxscale.cnf
maxadmin 列出服务
MariaDB 大师:
MariaDB [(none)]> 显示主状态;
mysql - maxscale(使用 Galera)是否自动处理非主要组件/节点条件?
我们将使用 maxscale 作为我们的 mariadb 数据库和 Galera 集群的 sql 代理。
在 Galera 集群中,当未达到 quorum 并且发生脑裂情况时,一些节点变为非主节点。非主节点开始拒绝向他们提出的查询。(根据文档)
maxscale 是否会自动处理此问题并停止向非主节点发送查询,直到它们再次成为主组件。
我已经测试了一件事,如果任何节点出现故障,maxscale 会正确处理并停止向该节点发送查询。我的问题是,非主节点也一样吗?如果不是怎么处理。
PS:我自己实际上无法测试非主要事物,这就是我在这里问这个问题的原因。如果有人可以帮助我自己实现和测试这种情况,那就太好了。
mariadb - 执行迁移时,Sequelize-cli 返回“未知数据库”
我一直在使用 sequelize 迁移,而没有任何问题,例如在我们的开发服务器中:
使用 sequelize-cli 可以正常工作:
结果:
我们的生产服务器也是如此,其中 db 与 app 位于不同的服务器上:
所以最近我们升级了我们的生产服务器,使用 mariadb 拥有 3 个 db 服务器,由负载均衡器(maxscale)、galera 集群或其他东西管理,使用与以前相同的设置,所以现在它类似于:
我们的新配置如下:
应用服务器和数据库服务器之间没有直接打开防火墙,只有应用服务器到负载均衡器。
用sequelize测试app server和负载均衡器的连接似乎没有问题,如果用户名和密码正确可以通过,如果用户名错误,或者密码错误会给出
那里没有问题。只是说有联系。
那么使用也没有问题:
或者
导致
在我们所有的数据库服务器中验证数据库确实删除和创建。
但是当我尝试进行迁移时,会发生这种情况:
我已经验证我们所有的 db 服务器确实有那个 'db' 数据库,它甚至是由基于配置的 sequelize 创建的,但不知何故,sequelize 似乎无法识别或识别那个 'db' 数据库。
如果您以前有任何类似的经验,请提供帮助,如果您需要更多信息,请告诉我。谢谢。
mariadb - Maxscale readwritesplit show the same number of connections
I've set up Maxscale to ReadWriteSplit with no reads to master (the default) to a Galera cluster (3 nodes).
While testing some read queries using loader.io I always get the same number of connection across all nodes:
Shouldn't i expect to see a high number of connections on nodes 2 and 3 (slaves) and a slow number on node 1?
mariadb-10.4 - Maxscale 在节点重启后失去用户同步
我将 Maxscale 作为 3 个 Galera 节点的 ReadWriteSplit。节点 1 是 MASTER,其他 2 是 SLAVES。
我总是在 master 上创建我的用户:
由于没有重新启动任何点头(出于 MariaDB 升级或其他原因),一切都很好。但是如果节点重新启动,当任何查询命中 SLAVES Maxscale 声称:
要修复它,在 MASTER,我需要GRANT ALL PRIVILEGES
再次:
并且错误停止。这是一个错误还是我做事不正确?
proxy - maxscale master slave 连接池中的有效连接检查
目前主从复制完成,使用maxscale的readwritesplit函数进行select和insert的分支。
我用的是common dbcp,通过datasource配置使用testOnBorrow和validationQuery的选项检查连接,但是因为查询是通过maxscale传输的,validationQuery的select 1只传输给slave,无法检查master的连接有效性.
master没有检查连接的有效性,所以如果长时间不使用WAS后连接,就会出现db connection相关的错误。
为了解决这个问题,我使用了 master_accept_reads = true,但我不想使用它,因为它会为 master 产生更多流量。作为我使用的另一个选项 persistpoolmax,persistmaxtime,但我得到了相同的错误消息。
我想知道是否有一种方法可以在 maxscale 或 mariadb 中发送连接验证查询,例如 ValidationQuery,而不区分主从。
感谢您阅读长文。