本篇文章主要是个人的一次部署Mycat的经历。如有高见,请多指教!
部署环境(测试)
mysql : 192.168.10.100
mycat: 192.168.10.40
版本控制
mysql版本: mysql8.0.25
Linux: CentOS7
mycat版本: Mycat1.6(我用的是Mycat1.6.7.6版本) 下载地址
JDK:1.8
Mycat安装
- 将下载好的安装包上传至Linux服务器,并解压。
[root@sdbserver2 local]# tar -zxvf Mycat-server-1.6.7.6-release-20201126013625-linux.tar.gz
我是在/usr/local/目录下解压的,这里需要注意权限
解压完成后,生成mycat目录
2.开始配置mycat,本人主要配置的文件有server.xml以及schema.xml(均在mycat/conf/目录下)
-
server.xml配置
配置用户、密码以及调用的逻辑库名(多个逻辑用 “,” 隔开)
-
schema.xml配置
*此处我将原先自己没有用到的删去了,只写了自己用到的。
*详细的配置可以参考下面两篇文章:
- 启动mycat
进入mycat/bin目录下,执行命令
[root@sdbserver2 bin]# ./mycat start
查看日志wrapper.log
启动完成
mycat 常用命令
./mycat start 启动
./mycat stop 停止
./mycat restart 重启
./mycat pause 暂停
./mycat status 查看启动状态
mycat启动失败
测试连接
- mycat连接mysql
mysql -udbadmin -pdbadmin -P8066 -h192.168.10.40
-u 用户
-p 密码
-P 端口
-h mycat安装的主机
java服务配置连接mycat
在部署完mycat后,接着部署了几个java服务,配置文件如下所示:
关于query_cache_size报错的问题
项目启动打印日志,会报错 “ Unknown system variable ‘query_cache_size’ con:JDBCConnection ”,
原因:网上的解释是 Mycat1.x版本支持mysql5.x,不支持mysql8.x导致的(本人mysql数据库用的是8.x版本的)
解决方案(只针对mysql8.x版本导致的情况):
- 替换mycat/lib目录下mysql驱动包版本
- 修改mycat源码包,并重新打包,并替换mycat/lib目录下的对应Mycat-Server的jar包(参考:https://blog.csdn.net/zhangjing7809/article/details/115522835)
附上:
- 我自己修改后的jar包地址[注意版本哈]=> Mycat-server-1.6.7.6-release.jar
- 自己重新打包的步骤简述:mycat源码重新打包简述
=此文仅供参考,如有纰漏,请多指教=