MYSQL读写分离集群搭建(四)
1、安装Java环境
上传jdk-8u131-linux-x64.rpm
然后#rpm -ivh jdk-8u131-linux-x64.rpm
#/usr/java/jdk1.8.0_131/bin/java -version
java version “1.8.0_131”
Java™ SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot™ 64-Bit Server VM (build 25.131-b11, mixed mode)
#vi /etc/profile
在export行前增加如下内容
export JAVA_HOME=/usr/java/jdk1.8.0_131
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/rt.jar
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
保存退出
#source /etc/profile
刷新环境变量
#java –version测试正常
2、安装MyCat环境
下载最新稳定版本的MyCat
wget http://dl.mycat.org.cn/1.6.7.4/Mycat-server-1.6.7.4-release/Mycat-server-1.6.7.4-release-20200105164103-linux.tar.gz
tar -zxvf Mycat-server-1.6.7.4-release-20200105164103-linux.tar.gz
#mv mycat /usr/local/
#cd /usr/local/mycat/
#ll
设置Mycat的环境变量
#vi /etc/profile
在Java环境变量设置后增加如下内容
export MYCAT_HOME=/usr/local/mycat
export PATH=$PATH:$MYCAT_HOME/bin
保存退出
#source /etc/profile
刷新环境变量
3、编辑MyCat配置文件
#cd $MYCAT_HOME/conf
#mv schema.xml schema.xml.ori
#vi schema.xml
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="TESTDB" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1">
</schema>
<dataNode name="dn1" dataHost="dh1" database="test01"/>
<dataHost balance="3" maxCon="1000" minCon="10" name="dh1" writeType="0" switchType="2" slaveThreshold="100" dbType="mysql" dbDriver="native">
<heartbeat>show slave status</heartbeat>
<writeHost host="mysql001" url="192.168.0.188:3306" password="Jiapm605A1" user="root">
<readHost host="mysql002" url="192.168.0.131:3306" password="Jiapm605A1" user="root"/>
<readHost host="mysql003" url="192.168.0.132:3306" password="Jiapm605A1" user="root"/>
</writeHost>
</dataHost>
</mycat:schema>
#mv server.xml server.xml.ori
#vi server.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mycat:server SYSTEM "server.dtd">
<mycat:server xmlns:mycat="http://io.mycat/">
<system>
<property name="nonePasswordLogin">0</property>
<property name="ignoreUnknownCommand">1</property>
<property name="useHandshakeV10">1</property>
<property name="removeGraveAccent">1</property>
<property name="useSqlStat">1</property>
<property name="useGlobleTableCheck">1</property>
<property name="sqlExecuteTimeout">300</property>
<property name="sequnceHandlerType">1</property>
<property name="sequnceHandlerPattern">(?:(\s*next\s+value\s+for\s*MYCATSEQ_(\w+))(,|\)|\s)*)+</property>
<property name="sequenceHanlderClass">io.mycat.route.sequence.handler.HttpIncrSequenceHandler</property>
<property name="processorBufferPoolType">0</property>
<property name="handleDistributedTransactions">0</property>
<property name="useOffHeapForMerge">0</property>
<property name="memoryPageSize">64k</property>
<property name="spillsFileBufferSize">1k</property>
<property name="useStreamOutput">0</property>
<property name="systemReserveMemorySize">384m</property>
<property name="useZKSwitch">false</property>
<property name="strictTxIsolation">false</property>
<property name="useZKSwitch">true</property>
<property name="parallExecute">0</property>
<property name="schemas">TESTDB</property>
<property name="defaultSchema">TESTDB</property>
</system>
<user name="mycatroot">
<property name="password">mycatJiapm605A1</property>
<property name="schemas">TESTDB</property>
<property name="defaultSchema">TESTDB</property>
</user>
</mycat:server>
4、在mysql mydb01中创建test01库
mysql>create database test01;
mysql>use test01;
mysql>CREATE TABLE t1 (`time` datetime NOT NULL ,`db_nm` varchar(20) NULL);
mysql>INSERT INTO t1 (time,db_nm) VALUES (now(), database());
mysql>INSERT INTO t1 (time,db_nm) VALUES (now(), database());
mysql>INSERT INTO t1 (time,db_nm) VALUES (now(), database());
5、启动与停止
#mycat start
#mycat status
测试8.1.3.157这台机器上的配置是否正确
#mysql -umycatroot -pmycatJiapm605A1 -P9066 -h8.1.3.157
mysql>show @@datanode;
mysql>show @@connection;
mysql>show @@backend;
#mysql -umycatroot -pmycatJiapm605A1 -P8066 -h8.1.3.157
mysql>show databases;
mysql>use TESTDB;
mysql>show tables;
mysql>select * from t1;
然后测试8.1.3.158这台机器上的配置是否正确
#停止mycat
#mycat stop