Mycat读写分离部署分享
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mycat读写分离部署分享相关的知识,希望对你有一定的参考价值。
安装配置mycat
涉及到的安装包:
安装包:Mycat-server-1.6-RELEASE-linux.tar.gz
依赖环境:jdk-7u75-linux-x64.tar.gz
1安装JDK
(1)创建java目录
# mkdir -p /usr/local/java
(2)上传JDK到/usr/local/java目录下
(3)解压jdk-7u75-linux-x64.tar.gz
# cd /usr/local/java
# tar -zxvf jdk-7u75-linux-x64.tar.gz
(4)设置JAVA_HOME:修改配置文件vi /etc/profile,最后一行添加以下代码
export JAVA_HOME=/usr/local/java/jdk1.7.0_75
export PATH=$HOME/bin:$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib
(5)使配置生效:
# source /etc/profile
2创建mycat用户并设置密码
# useradd mycat
# passwd mycat
3安装mycat
(1)上传Mycat-server-1.6-RELEASE-linux.tar.gz安装包到/usr/local/目录下;
(2)解压Mycat
# cd /usr/local/
# tar -zxvf Mycat-server-1.6-RELEASE-linux.tar.gz
设置mycat的环境变量,编辑vi /etc/profile,最后一行添加以下代码
export MYCAT_HOME=/usr/local/mycat
export PATH=$PATH:$MYCAT_HOME/bin
使配置生效:
# source /etc/profile
4编辑配置文件schema.xml
(1)路径:/usr/local/mycat/conf/schema.xml
# vi /usr/local/mycat/conf/schema.xml
(2)配置文件内容:
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://org.opencloudb/">
<schema name="zabbix" checkSQLschema="false" sqlMaxLimit="100"> ##修改mycat数据库名称为zabbix
<table name="user" dataNode="dn1,dn2" rule="auto-sharding-long" />
<table name="stat_tcp_stream" dataNode="dn2,dn3" rule="auto-sharding-long" />
</schema>
<dataNode name="dn1" dataHost="localhost1" database="zabbix" /> ##修改mycat数据库database为zabbix
<dataNode name="dn2" dataHost="localhost2" database="mpos_tshark_miner2014" />
<dataNode name="dn3" dataHost="localhost3" database="mpos_tshark_hrtel" />
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" dbType="mysql" dbDriver="jdbc" writeType="0" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="suse01" url="web01:3306" user="zabbix" password="zabbix123"></writeHost> ##修改host名称为数据库服务器ip user与password对应修改
</dataHost>
<dataHost name="localhost2" maxCon="1000" minCon="1" balance="0" dbType="mysql" dbDriver="jdbc">
<heartbeat> </heartbeat>
<readHost host="suse02" url="web02:3306" user="zabbix" password="zabbix123"></readHost> ##修改host名称为数据库服务器ip user与password对应修改
</dataHost>
</mycat:schema>
注:web01、web02写的是主机名称,web01配置为读,web02配置为写;
5 编辑配置文件server.xml
(1)路径:/usr/local/mycat/conf/server.xml
# vi /usr/local/mycat/conf/server.xml
(2)配置文件内容:
</system>
<user name="root">
<property name="password">123456</property>
<property name="schemas">zabbix</property>
</user>
<user name="zabbix">
<property name="password">zabbix123</property>
<property name="schemas">zabbix</property>
<property name="readOnly">true</property>
</user>
<!--以上配置的是连接mycat的用户名和密码-->
</mycat:server>
6 修改wrapper.conf路径
(1)编辑配置文件
# vi /usr/local/mycat/conf/wrapper.conf
(2)配置wrapper.java.command参数java路径(按实际安装路径修改)
#****Wrapper Properties**
#****Java执行命令,默认即可****
wrapper.java.command=java ##修改java路径为/usr/local/java/java-*/bin/java
wrapper.working.dir=..
……….
……….
Wrapper.java.additional.5=-XX:MaxDirectMemorySize=4G #第31行根据需要配置相应的内存大小
7 编辑mycat日志类型
(1)修改log4j2.xml日志类型
# vi /usr/local/mycat/conf/log4j2.xml
(2)配置内容:
修改<asyncRoot level="info"(可以设置为off、error 、warning生产环境切记不可为debug)
<logger name="org.springframework" level="INFO"></logger> ##修改info为off
<logger name="org.mybatis" level="INFO"></logger>
<root level="all">
<appender-ref ref="Console"/>
<appender-ref ref="RollingFileInfo"/>
<appender-ref ref="RollingFileWarn"/>
<appender-ref ref="RollingFileError"/>
</root>
</loggers>
8 编辑hosts配置
1、在Mycat-1主机上
# vi /etc/host
192.168.1.60 web01
192.168.1.61 web01
2、在Mycat-2主机上
# vi /etc/host
192.168.1.60 web02
192.168.1.61 web02
备注:
(1)192.168.1.60为数据库主库的IP地址;192.168.1.61为数据库从库的IP地址;
(2)web01、web02分别是当前mycat服务器的hostname
(3)两台mycat服务器均需要做同样的操作
(4)数据库服务与mycat服务器跨主机部署采用如上配置
9 启动mycat
运行命令:
# /usr/local/mycat/bin/mycat start (重启mycat restart,关闭 mycat stop)
10 测试mycat
使用Navicat for MySQL软件连接mycat:
端口号为8066
账户密码为server.xml中文件账号和密码;以实际数据库配置帐号为准;
说明:进行读写操作,查看/usr/local/mycat/logs/相关日志。
至此完成mycat读写分离部署。
以上是关于Mycat读写分离部署分享的主要内容,如果未能解决你的问题,请参考以下文章