mycat是什么?为什么用mycat?
可以理解成一个开源的分布式数据库系统,代替昂贵的Oracle,为mysql实现企业级的数据库。支持mysql、SQLserver、Oracle等主流数据库,无论是那种存储方式,在MyCat里,都是一个传统的数据库表,支持标准的SQL语句进行数据的操作,这样一来,对前端业务系统来说,可以大幅降低开发难度,提升开发速度。
mycat架构
安装和使用
下载(目前最新发行版是1.6.5):http://dl.mycat.io/
安装:解压即可
配置:Mycat是基于Java开发的,确保安装好了Java环境,可命令行输入:java -version 进行测试。Linux下还需配置Mycat的解压目录:vim /etc/profile,配置完成后使用:source /etc/profile:
export JAVA_HOME=xxx
export MYCAT_HOME=xxx
运行(Linux):
- ./mycat start 启动
- ./mycat stop 停止
- ./mycat console 前台运行
- ./mycat install 添加到系统自动启动(暂未实现)
- ./mycat remove 取消随系统自动启动(暂未实现)
- ./mycat restart 重启服务
- ./mycat pause 暂停
- ./mycat status 查看启动状态
运行(Windows):双击bin/tartup_nowrap.bat,如果出现闪退,可在cmd命令行运行,并查看出错原因
内存配置:启动前,一般需要修改JVM配置参数,打开conf/wrapper.conf文件,可根据本机配置情况修改为512M或其它值
# Java Additional Parameters
#wrapper.java.additional.1=
wrapper.java.additional.1=-DMYCAT_HOME=.
wrapper.java.additional.2=-server
wrapper.java.additional.3=-XX:MaxPermSize=64M
wrapper.java.additional.4=-XX:+AggressiveOpts
wrapper.java.additional.5=-XX:MaxDirectMemorySize=2G
wrapper.java.additional.6=-Dcom.sun.management.jmxremote
wrapper.java.additional.7=-Dcom.sun.management.jmxremote.port=1984
wrapper.java.additional.8=-Dcom.sun.management.jmxremote.authenticate=false
wrapper.java.additional.9=-Dcom.sun.management.jmxremote.ssl=false
wrapper.java.additional.10=-Xmx4G
wrapper.java.additional.11=-Xms1G
连接测试:
- 测试mycat与测试mysql完全一致,mysql怎么连接,mycat就怎么连接
- 命令行:mysql -uroot -proot -P8066 -h127.0.0.1(其中,user和password可在conf/server.xml配置查找,8066是默认的服务端口,也可以在conf/server.xml中配置修改)
- 客户端:1.3和1.4版本目前部分工具无法连接,会提示database not selected,建议使用高版本的Mycat,1.5版本已经修复了部分客户端工具的连接
参考:
https://www.jianshu.com/p/b0f85164831e