Maxscale 不允许将 mysql8 与 java 应用程序连接

Posted

技术标签:

【中文标题】Maxscale 不允许将 mysql8 与 java 应用程序连接【英文标题】:Maxscale not allowed to connect mysql8 with java application 【发布时间】:2021-06-08 11:46:18 【问题描述】:

我有一个 mysql 8.0.3 数据库在该 ma​​xscale 服务器 之上运行,当我尝试连接该 mysql jdbc 驱动程序时,此错误即将到来未知系统变量“query_cache_size”。但是当我尝试直接连接到数据库时对我有用。从 mysql 8 中删除 query_cache_size 参数。

【问题讨论】:

您也可以尝试使用 dbeaver(基于 Java 的客户端)连接数据库。 使用您的 8.0.3 数据库,从您的 my.cnf 或 my.ini 和以 query_cache 开头的全局变量中删除,因为该函数已删除或将在未来版本的 MySQL 实例中删除。 MariaDB 目前仍然支持 query_cache,所以这个删除 query_cache 的建议目前不适用于任何 MaridDB 实例。 【参考方案1】:

查询缓存已被弃用。 BTW 8.0.3 是一个非常旧的版本(4 年)并且是预通用版本(一个发布候选版本),所以请不要将它用于生产。

【讨论】:

【参考方案2】:

编辑:修复了 MXS-2890,您现在应该可以在 MaxScale 中配置 version_string=8.0.16-mysql 来解决此问题


这很可能是由以下错误引起的:https://jira.mariadb.org/browse/MXS-2890

MariaDB JDBC 连接器不应该遇到这个问题,这意味着安装它而不是 MySQL JDBC 连接器可以作为一种解决方法。

【讨论】:

【参考方案3】:

在您的 /etc/maxscale.cnf 中,您可以添加 version_string=5.6

[Read-Write-Service]
type=service
router=readwritesplit
servers=master
version_string=5.6
user=user
password=********```

after that i am  able to access mysql8 on top of maxscale server.

【讨论】:

以上是关于Maxscale 不允许将 mysql8 与 java 应用程序连接的主要内容,如果未能解决你的问题,请参考以下文章

Mysql 读写分离中间件 MaxScale

轻松实现MySQL读写分离

优酷土豆资深工程师:MySQL高可用之MaxScale与MHA

maxscale跨库分片的限制

maxscale跨库分片的限制

迁移一套mariadb+maxscale到另外一套mariadb+maxscale上