mycat实现读写分离

mycat是什么?为什么用mycat?

可以理解成一个开源的分布式数据库系统,代替昂贵的Oracle,为mysql实现企业级的数据库。支持mysql、SQLserver、Oracle等主流数据库,无论是那种存储方式,在MyCat里,都是一个传统的数据库表,支持标准的SQL语句进行数据的操作,这样一来,对前端业务系统来说,可以大幅降低开发难度,提升开发速度。

mycat架构

mycat实现读写分离_第1张图片

安装和使用

下载(目前最新发行版是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
 

你可能感兴趣的:(Java进阶之路)