Mycat安装与使用

时间:2022-11-06 20:42:18
 
1.下载:
 
https://github.com/MyCATApache/Mycat-download 具体下载哪个版本以发布为准,推荐1.4,1.5.
 
2.安装:
 
安全前,在Linux服务器上先为mycat server 创建新的用户组及用户 
创建新的group
root>groupadd mycat
创建一个新的用户,并加入group
roop>useradd -g mycat mycat
给新用户设置密码
passed mycat
 
 
下载的文件直接解压即可。
 
设置mycat目录的属主和属组
# chown -R mycat.mycat /usr/local/mycat/mycat
 
安装完成后,需要添加MYCAT_HOME环境变量,值对应MyCAT安装的根目录
测试是否生效 echo $MYCAT_HOME
 
运行:
 
linux:
 
./mycat start 启动
 
./mycat stop 停止
 
./mycat console 前台运行
 
./mycat install 添加到系统自动启动(暂未实现)
 
./mycat remove 取消随系统自动启动(暂未实现)
 
./mycat restart 重启服务
 
./mycat pause 暂停
 
./mycat status 查看启动状态
 
win:
 
直接运行startup_nowrap.bat,如果出现闪退,在cmd 命令行运行,查看出错原因。
 
内存配置:
 
启动前,一般需要修改JVM配置参数,打开conf/wrapper.conf文件,如下行的内容为2G和2048,可根据本机配置情况修改为512M或其它值。 以下配置跟jvm参数完全一致,可以根据自己的jvm参数调整。
 
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=100m
 
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=-Xmx100m
 
wrapper.java.additional.11=-Xms100m
 
wrapper.java.additional.12=-XX:+UseParNewGC
 
wrapper.java.additional.13=-XX:+UseConcMarkSweepGC
 
wrapper.java.additional.14=-XX:+UseCMSCompactAtFullCollection
 
wrapper.java.additional.15=-XX:CMSFullGCsBeforeCompaction=0
 
wrapper.java.additional.16=-XX:CMSInitiatingOccupancyFraction=70
 
以下配置作废:
 
wrapper.java.initmemory=3
 
wrapper.java.maxmemory=64
 
观察wrapper.log文件中提示启动成功即可
 
Mycat连接测试:
 
测试mycat与测试mysql完全一致,mysql怎么连接,mycat就怎么连接。
 
推荐先采用命令行测试:
 
mysql -uroot -proot -P8066 -h127.0.0.1
 
如果采用工具连接,1.4,1.3目前部分工具无法连接,会提示database not selected,建议采用高版本,navicat测试。1.5已经修复了部分工具连接。
 
注意:若是LINUX版本的MYSQL,则需要设置为Mysql大小写不敏感,否则可能会发生表找不到的问题。
MySQL的配置文件中my.ini [mysqld] 中增加一行
  lower_case_table_names = 1
或my.cnf追加一行
vim /etc/my.cnf
    [mysqld]
  lower_case_table_names = 1
如果找不到my.cnf文件,copy 一个:cp /usr/share/mysql/my-default.cnf  /etc/my.cnf
 
 
日志存放在logs/mycat.log中,每天一个文件,日志的配置是在conf/log4j.xml中,根据自己的需要,可以调整输出级别为debug,debug级别下,会输出更多的信息,方便排查问题。
 
命令行运行:mysql -utest -ptest -h127.0.0.1 -P8066 -DTESTDB  就能访问OpenCloudDB了,以下操作都在此命令行里执行(JDBC则将mysql的URL中的端口3306改为8066即可)
 
温馨提示:在Mycat中 explain同样可以用于任何正确的SQL上,其作用是告诉你,这条SQL会路由到哪些分片节点上执行,这对于诊断分片相关的问题很有帮助。另外,explain可以安全的执行多次,它仅仅是告诉你SQL的路由分片,而不会执行该SQL。