Mycat的搭建以及配置与启动
Posted 原克技术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mycat的搭建以及配置与启动相关的知识,希望对你有一定的参考价值。
1、首先开启服务器相关端口
firewall-cmd --permanent --add-port=9066/tcp
firewall-cmd --permanent --add-port=8066/tcp
重启:
firewall-cmd --reload
2、安装JDK
2.1、安装方式一
2.1.1、使用yum安装JDK
yum install -y java-1.8.0-openjdk.x86_64
2.2.2、查看安装版本
java -version
2.2、安装方式二
2.2.1、下载环境,JDK安装包
这里我下载的是Linux x64 Compressed Archive,可以根据自己的环境自行下载
2.2.2、在/usr/local/下创建java目录
roomkdir java
chmod 777 java
2.2.3、使用ftp链接服务器并把下载的安装包上传至java目录
2.2.4、进入到java目录,解压上传文件
tar -zxvf +需要解压的包名
tar -zxvf jdk-16.0.2_linux-x64_bin.tar.gz
2.2.5、编辑配置文件,配置环境变量,vim /etc/profile进入编辑状态,在打开的文件最后面加上如下代码:
JAVA_HOME=/usr/local/java/jdk-16.0.2
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
2.2.6、重新加载配置文件,输入:
source /etc/profile
2.2.7、最后一步,查看安装情况
java -version
输入:
javac
3、安装Mycat
3.1、Mycat安装方式一
3.1.1、下载地址
http://dl.mycat.org.cn/1.6-RELEASE/
http://www.mycat.org.cn/
http://dl.mycat.org.cn/1.6.6/
3.1.2、使用ftp上传至服务器
3.1.3、配置与启动
3.1.3.1、配置文件
配置文件为schema.xml
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
<table name="table1" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />
</schema>
#表为三个表,分别在三个服务器中,a1、a2、a4分为为三个服务器中的三个数据库
<dataNode name="dn1" dataHost="localhost1" database="a1" />
<dataNode name="dn2" dataHost="localhost1" database="a2" />
<dataNode name="dn3" dataHost="localhost1" database="a4" />
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="192.168.72.140:3306" user="root"
password="123456789aA!">
<!-- can have multi read hosts -->
<readHost host="hostS2" url="192.168.72.140:3306" user="root" password="" />
<readHost host="hostS2" url="192.168.72.141:3306" user="root" password="" />
</writeHost>
</dataHost>
</mycat:schema>
3.1.3.2、启动Mycat
./mycat/bin/mycat
[root@mycat2 mycat]# ./mycat/bin/mycat
Usage: ./mycat/bin/mycat { console | start | stop | restart | status | dump }
#控制台|启动|停止|重启|状态|转储
#执行命令的方式
./mycat/bin/mycat +操作
#控制台:
./mycat/bin/mycat console
#启动:
./mycat/bin/mycat start
#停止:
./mycat/bin/mycat stop
#重启:
./mycat/bin/mycat restart
#状态:
./mycat/bin/mycat status
#转储:
./mycat/bin/mycat dump
3.2、服务器下载wget
wget http://dl.mycat.org.cn/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
3.3、解压
tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
3.4、启动
./mycat/bin/mycat
3.5、文件配置与启动方式可以参考手动上传方式
4、Mycat配置实例
这里我准备了四个服务器,分分别为:
192.168.72.149 #Mycat服务器(Mycat默认的数据库为8099,或者9066。需要打开这两个端口)
192.168.72.143 #MySQL数据库服务器(服务器中有a1数据库,a1中有个table1数据表)
192.168.72.150 #MySQL数据库服务器(服务器中有a1数据库,a1中有个table1数据表)
192.168.72.151 #MySQL数据库服务器(服务器中有a1数据库,a1中有个table1数据表)
192.168.72.143数据库中的数据为:
192.168.72.150数据库中的数据为:
192.168.72.151数据库中的数据为:
连接Mycat服务器:
Mycat服务器查询的数据结果为:
查询只能使用语句进行查询,如下:
schema.xml文件的配置:
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
<table name="table1" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />
</schema>
<dataNode name="dn1" dataHost="localhost1" database="a1" />
<dataNode name="dn2" dataHost="localhost2" database="a1" />
<dataNode name="dn3" dataHost="localhost3" database="a1" />
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="192.168.72.143:3306" user="root"
password="aA123456.">
<!-- can have multi read hosts -->
<!-- <readHost host="hostS2" url="192.168.72.140:3306" user="root" password="" />
<readHost host="hostS2" url="192.168.72.141:3306" user="root" password="" /> -->
</writeHost>
</dataHost>
<dataHost name="localhost2" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="192.168.72.150:3306" user="root"
password="aA123456.">
</writeHost>
</dataHost>
<dataHost name="localhost3" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="192.168.72.151:3306" user="root"
password="aA123456.">
</writeHost>
</dataHost>
</mycat:schema>
也可配置为:
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
<table name="table1" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />
</schema>
<dataNode name="dn1" dataHost="localhost1" database="a1" />
<dataNode name="dn2" dataHost="localhost1" database="a1" />
<dataNode name="dn3" dataHost="localhost1" database="a1" />
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="192.168.72.143:3306" user="root"
password="aA123456.">
<!-- can have multi read hosts -->
<!-- <readHost host="hostS2" url="192.168.72.140:3306" user="root" password="" />
<readHost host="hostS2" url="192.168.72.141:3306" user="root" password="" /> -->
</writeHost>
<writeHost host="hostM1" url="192.168.72.150:3306" user="root"
password="aA123456.">
</writeHost>
<writeHost host="hostM1" url="192.168.72.151:3306" user="root"
password="aA123456.">
</writeHost>
</dataHost>
</mycat:schema>
登录Mycat:
mysql -h127.0.0.1 -uroot -p123456 -P8066
-h:为本机地址,也可以是你的IP地址
-u:Mycat中配置的用户名
-p:Mycat中配置的密码
-P:端口
注意:如果需要在命令端登录,需要安装MySQL
资料:
以上是关于Mycat的搭建以及配置与启动的主要内容,如果未能解决你的问题,请参考以下文章
mysql+mycat搭建稳定高可用集群,负载均衡,主备复制,读写分离