问题标签 [mysqlrouter]

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 回答
297 浏览

mysql - Mysql Router send request to down slave node for a Second

I have implemented InnoDB cluster using MySql router(version - 2.1.4) for HA This is my mysqlrouter.conf file

MySql Router split the read requests to slave nodes, if I down slave 1 then router takes some seconds to know the slave 1 is down. So the requests are sent to the down slave node and the request fails. Any Suggestion how to handle this failure?

0 投票
0 回答
81 浏览

mysql - 在多路由器环境中,我如何知道通过哪个 mysql 路由器请求已发送到 InnoDB 集群

我已经将我的 Java 应用程序配置为通过多个路由器连接到 InnoDB 集群,这样如果我的一个路由器停止工作,其他路由器可以承担路由任务(我配置了 6 个路由器)

现在有人可以帮我找出在多路由器设置中通过哪个路由器请求发送了吗?

0 投票
2 回答
537 浏览

mysql - MySQL路由器守护进程没有监听任何端口

我按照这里的描述安装了程序https://dev.mysql.com/doc/mysql-router/8.0/en/mysql-router-deploying-bootstrapping.html

安装后,该服务mysqlrouter在系统中启动。但该服务不监听配置文件“/etc/mysqlrouter/mysqlrouter.conf”中指定的任何端口。

命令lsof -i -P -n | grep LISTEN显示:

如您所见,只有端口 22 正在侦听。

为了让 mysqlrouter 监听配置文件中定义的端口,我必须使用 command 将它作为一个新进程启动mysqlrouter -c /etc/mysqlrouter/mysqlrouter.conf &

之后,mysqlrouter监听端口,一切正常。

这看起来像是服务在启动过程中没有加载配置文件/etc/mysqlrouter/mysqlrouter.conf,并且使用默认(空)配置,没有监听任何内容。

配置文件内容:

如何让mysqlrouter daemon按照配置文件开始工作,监听指定端口?

如果我使用命令将 mysqlrouter 作为新进程启动,mysqlrouter -c /etc/mysqlrouter/mysqlrouter.conf &它可以正常工作:

更新...

命令systemctl status mysqlrouter.service显示:

正如我所说,服务工作,但它仍然不监听端口。

0 投票
2 回答
114 浏览

mysql - 在 mysql 路由器上检测过时的副本

我正在使用mysqlrouter通过主从复制(1 个主 + 2 个从)将流量路由到 InnoDB 集群节点。出于某种原因,我经常遇到复制问题,并且看到副本在过去 2 小时内没有数据。因此,使用只读节点的应用程序具有不正确的数据。mysqlrouter 是否可以检测不同步且不在那里路由流量的副本?

0 投票
2 回答
7413 浏览

mysql - sha256_password 已弃用警告填充日志

我已经在单主模式下配置了 InnoDB MySQL v8.0.19 组复制集群。根据建议的模式,我有几个 webapps 通过他们自己的 MySQL 路由器实例以 1:1 的关系访问集群。

一切似乎都运行良好,但我的主服务器的日志中充满了以下消息:

[警告] [MY-013360] [服务器] 插件 sha256_password 报告:''sha256_password' 已弃用,将在未来版本中删除。请改用cache_sha2_password'

转储 mysql.user 表,我看到生成的 mysql_router 用户正在使用“mysql_native_password”插件,而所有其他用户正在使用正确的“caching_sha2_password”插件。

这些 mysql 路由器是访问服务器的唯一客户端,所以我怀疑它在抱怨它是如何访问集群的。

任何人都知道如何解决这个警告?

0 投票
1 回答
272 浏览

mysql - MySQL路由器如何设置windows服务名

如何使用 MySQL Router 设置 Windows 服务名称?

根据文档,只有 --install-service 选项,但看起来,它是一个固定名称“MySQLRouter”。

我尝试过传递服务名称,就像在 MySQL 服务器中所做的那样,但它覆盖了名为“MySQL Router”的服务。

如何添加多个 MySQL Router 服务?

0 投票
1 回答
109 浏览

docker-compose - 如何使用引导模式的撰写文件在 Docker 中运行 mysql 路由器

MySql 路由器有一个命令来引导自己

启动后,路由器将退出,我们应该使用启动生成的配置文件再次运行它,因为我将修改此文件

在 Linux 纯环境下可以,但在 docker 中不行,下面是我的 docker compose 文件

首先,我将调用引导服务进行引导,并生成配置到指定目录

在这个命令之后,配置文件就生成好了,然后我执行

它会工作,但不像我想象的那样工作,没有 docker,运行 mysqlrouter 的第二步只使用 config 并且没有引导但是使用 docker 和那些命令,第二步将再次引导。我知道这是因为 2 个容器中有 2 个服务。有什么想法可以让这个流程更合适吗?比如在一个容器中运行 2 个服务?或者在现有容器中运行服务?

0 投票
0 回答
64 浏览

ssl - 通过 Unix 套接字连接到 MySQL 路由器时强制 SSL 是否明智?

我有一个标准的MySQL InnoDB Cluster部署,在每个应用程序服务器上运行 MySQL 路由器实例 (8.0.24)。我有一个使用 MySQL 命令行客户端 (5.7.30) 添加大量数据的脚本;出于性能原因,我希望它通过 Unix 套接字连接。

问题是脚本需要验证的用户需要 SSL 证书( REQUIRE X509)。并且通过 Unix 套接字连接会禁用 SSL,因为它是多余的。

我可以强制使用 SSL,mysql ... --ssl-mode required但会打印以下警告:

现在的问题是:警告是否正确,我应该调整配置(服务器的?路由器?客户端?)。或者警告是错误的,因为没有考虑场景(通过 Unix 套接字连接到路由器,然后路由器通过 TCP 连接到 MySQL)

0 投票
0 回答
10 浏览

mysql - MySQL Router 服务的启动和停止

将 MySQL 路由器安装为服务后:

mysqlrouter --install-service -c "C:\Program Files\MySQL\MySQL Router 8.0\mysqlrouter.conf"

尝试使用“服务”应用程序启动服务时或sc start MySQLRouter出现此错误。

在此处输入图像描述

我之前已经成功地将 MySQL 服务器安装为服务(按照文档),它运行良好。但是路由器让我非常头疼。有谁知道为什么这个错误不断弹出?提前致谢。

0 投票
0 回答
14 浏览

mysql - MySqlRouter 无法连接到 MySqlServer

mysqlrouter 服务正在运行

端口正在监听

但是当我尝试使用来自不同计算机的 mysql 客户端进行连接时

它说

错误 2003 (HY000): 无法连接到“192.168.11.124:6446”上的 MySQL 服务器 (10060)

我错过了什么?

PS我在主mysqlserver中安装了mysqlrouter我是正确的还是应该安装在要连接到innodbcluster的应用程序中?