SpringBoot+ProxySql 配置读写分离代理 解决 java.sql.SQLException: Unknown system variable query_cache

ProxySql 简介

ProxySQL 是基于 MySQL 的一款开源的中间件的产品,是一个灵活的 MySQL 代理层,可以实现读写分离,支持 Query 路由功能,支持动态指定某个 SQL 进行缓存,支持动态加载(无需重启 ProxySQL 服务),故障切换和一些 SQL 的过滤功能。 

具体介绍请参考:ProxySQL 基础篇 

文章中指出 主从库的配置文件中  要有 read_only节点 这个在我的上一篇配置主从数据库中有配置 

但是在MySQL配置文件中写的话 必须要写成 read-only = 1或者 read-only = 0

因为proxysql的写组和读组是根据这个节点值来分类的 0 会被分配到写组 1 是读组

然后下面我给的是 ubuntu20.04的安装方法,剩余的操作参考上面大神的文章

proxysql大坑

proxysql目前安装最新的 内置的mysql版本也才是5.5.30的 所以如果你的数据库是8.0及以上的

一定要记得修改proxysql内置mysql的版本号  登上proxysql的应用端执行以下命令

update global_variables set variable_value="8.0.4 (ProxySQL)" where variable_name='mysql-server_version';

#那个版本号8.0.4 你可以随意改 只要是8.0以上的就行

load mysql variables to run;
save mysql variables to disk;

配置好后 springboot中的datasource换成 proxysql的客户端ip就好 

如有疑问 可留言,随时在线

安装ProxySql (环境: ubuntu20.04)

先进入这个下载文件夹
cd /tmp

#下载deb安装包
wget https://github.com/sysown/proxysql/releases/download/v2.0.12/proxysql_2.0.12-ubuntu18_amd64.deb

#执行安装命令
sudo dpkg -i proxysql_*

#安装完成 就这么简单了
#首次安装它不会自动启动 所以我们要手动启动一下
systemctl start proxysql.service

netstat -apn | grep 6033 #查看是否启动 这个是客户端的端口 有四个监听端口
netstat -apn | grep 6032 #应用端端口,就是配置proxysql的端口
6033有四个  6032有一个 



 

 

 

 

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值