问题标签 [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.
mariadb - MariaDB Spider 与 Galera Clusters 故障转移解决方案
我在尝试为实验构建数据库解决方案以确保 HA 和性能(分片)时遇到问题。
现在,我有一个spider节点和两个galera集群(每个集群3个节点),如下图所示,这个配置在一般情况下运行良好:
但是,据我所知,蜘蛛引擎在进行分片时,必须分配主IP才能将SQL语句分发到不同Galera集群中的两个节点。
所以我的第一个问题是:
Q1):当机器.12因损坏而关闭时,如何使.13或.14(其中之一)自动替换.12?
- 蜘蛛引擎知道的服务器
Q2):是否有任何开源工具(或技术)可以帮助我处理这种情况?如果是这样,请解释它是如何工作的。(也许是 MaxScale?但我从来不知道它是什么以及它能做什么。)
Q3):本次实验的动机如下。自动化工厂有很多机器,每台机器都会产生一些在生产过程中必须记录的数据(每秒可能有数百或数千条数据),以观察机器的运行情况,使每批产品的质量达到最佳。所以我的问题是:这个架构怎么样(图 1)?或请提供您的建议。
mariadb - maxscale/mariadb 和自动故障转移:拒绝访问
我正在使用一个简单的 mariadb 体系结构、一个接收所有请求的主 (server2) 和一个副本 (server1) 来测试 maxscale 解决方案。复制工作正常,但在主节点停止时,maxscale 报告了一个错误:
根据maxscale github, monitor_user 的授权是:
SET 是否有特别补助金?我一定错过了什么……有什么想法吗?谢谢你。
2021 年 8 月 23 日星期一 15:19:20 UTC 编辑:
- Debian 破坏者 10.10
- 玛丽亚数据库 10.3
- 最大值 2.5.14
php - Mariadb maxscale + php PDO geting numeric as strings
I have the following schema:
making query into database:
When I connect directly to database, I get correct data types:
but when I connect through maxscale I get all as string:
MariaDB MaxScale 2.5.7 nebo 6.1.1
php ini:
if I try something similar in Python it returns correct types
Any idea how to get numeric as int with PDO and maxscale and PHP 7.2?
UPDATE
- I try also actually newest MaxScale 6.1.1, but that did not help.
- I try Msqli that works with boats direct mariadb and MaxScale.
- I also try PDO with PHP 8.1-RC, and it also works.
- This is not duplication of How do I return integer and numeric columns from MySQL as integers and numerics in PHP? because it addresses problem directly with mysql and not maxscale (direct connection works for me).
database - 如果主设备的 GTID 与从设备的 GTID 不同,我怎么能惊慌失措?
MaxScale 将请求分发到 MariaDB 数据库 -> 数据库所在的主/从服务器。我需要的是一个以 cron 或类似的方式运行的脚本,它可以验证来自主服务器和从服务器的 GTID。如果从站 GTID 与主站 GTID 不同,我希望通过电子邮件收到通知/警报。不幸的是,我不知道这是否可能以及如何做到这一点
mysql - maxscale 代理不会将来自 flask-sqlachamy 的读取请求路由到从属设备
我有一个带有一个主设备和两个从设备的 maxscale mariadb 集群。我正在使用 flask-sqlachemy ORM 进行查询和写入。
我写了风格的阅读查询
db.session(User).join()....
现在我所有的读取查询都将扩展到最大规模的主节点
以下是maxcalse日志
我也尝试过其他方法
这工作正常,并将查询路由到从属设备之一。
但我的大部分代码都是用 ORM 风格编写的。有没有办法在使用时实现这一点flask-sqlalchemy
mysql - 离线时如何同步 MySQL 数据库?
我在客户端上运行的应用程序使用在服务器上运行的 MySQL 数据库。因此,多个客户端连接到同一台服务器。当服务器在线时效果很好。但现在我想增强我的应用程序,使其能够在离线模式下运行。
现在问题来了:当客户端离线时会发生什么?我也需要每个客户端上的 MySQL 数据库副本。默认情况下,应用程序与服务器上的 MySQL 交互。如果无法访问此服务器(出于什么原因:服务器离线或客户端没有互联网连接),它应该使用在客户端上运行的 MySQL。如果客户端/服务器连接再次可用,则需要自动同步数据库。
我现在的问题是:如何实现这一目标?首先,我检查了 MySQL 复制,但在我的场景中,我有多个“master”和未知数量的客户端。所以我担心复制不是我的解决方案。MaxScale可以解决我的问题吗?我从来没有使用过,所以我非常感谢任何帮助。
load-balancing - MaxScale 集群(主-主)设置
当在模式中的 Galera Cluster 前以 Master-Slave 类型部署多个 MaxScale(使用 Keepalived 或类似方法从 master 故障转移到 slave)时read-write-split
,一切正常。但是,以循环方式进行类似大师-大师的类型学呢,这可能吗?
例如:在 10.0.0.1 有一个 MaxScale,在 10.0.0.2 有一个第二个,Haproxy 在它前面,有一个roundrobin
或leastconn
分布算法(或者甚至没有 Haproxy/负载均衡器,应用程序只是随机连接到一个或另一个)就是这样MaxScale 可能/很好地支持?
mariadb-10.4 - 如何使用 Maxscale 设置 MySQL 用户
我正在设置一个带有 2 个前端服务器的 3 个节点(MariaDB 10.4)Galera 集群。
在这些前端服务器中的每一个内部还有一个 Maxscale 6 守护程序。
所有这些服务器都在10.1.0.0/24
网络内。
在 MariaDB,我创建了类似的用户,CREATE USER 'user'@'10.1.0.%'
但这些用户无法进行身份验证。
所以我有RENAME 'user'@'10.1.0.%' TO 'user'@'127.0.0.1'
。另一个身份验证错误。
我结束了RENAME 'user'@'10.1.0.%' TO 'user'@'%'
。当然这里一切都好。
只要所有服务器都在10.1.0.%
网络上,为什么用户'user'@'10.1.0.%'
无法进行身份验证?
mysql - Maxscale 保留被应用程序终止的连接
我们正在尝试使用 maxscale 进行数据库负载平衡(MySQL 5.7)。
我们将 Hikari 用于应用程序连接池。我们希望 Hikari 将管理连接池,而 maxscale 将跟踪来自 Hikari 方面的连接。
对于测试,我们只有主连接到 maxscale。Hikari 和应用程序都设置为最多 20 个连接。
在最大规模上,我们使用以下配置:主机配置 persistpoolmax=0 persistmaxtime=60
服务配置 max_connections=20 我们还注释掉了服务部分的connection_timeout。
我们看到的是,当我们停止应用程序时,连接在 maxscale 上保持打开状态,当我们重新启动应用程序时,如果超出最大连接数时连接失败。
我们做错了什么?
java - MariaDB Maxscale 返回不同查询的结果
我目前正在开发一个 Java 批处理应用程序,该应用程序将数据写入和读取到带有连接池的 MariaDB Maxscale Galera 集群。这涉及每秒 50-100 次读/写操作。我们经常面临的一个问题是查询的结果是互换的。例如,如果执行三个查询 A、B 和 C,则为 B 接收 A 的结果等。这可以通过 JDBC 或 Maxscale 的更改来解决吗?