Mycat的搭建以及配置与启动

x33g5p2x  于2021-11-09 转载在 其他  
字(7.3k)|赞(0)|评价(0)|浏览(360)

1、首先开启服务器相关端口

  1. firewall-cmd --permanent --add-port=9066/tcp
  2. firewall-cmd --permanent --add-port=8066/tcp

重启:

  1. firewall-cmd --reload

2、安装JDK

2.1、安装方式一

2.1.1、使用yum安装JDK

  1. yum install -y java-1.8.0-openjdk.x86_64

2.2.2、查看安装版本

  1. java -version

2.2、安装方式二

2.2.1、下载环境,JDK安装包

下载地址

这里我下载的是Linux x64 Compressed Archive,可以根据自己的环境自行下载

2.2.2、在/usr/local/下创建java目录

  1. roomkdir java
  2. chmod 777 java

2.2.3、使用ftp链接服务器并把下载的安装包上传至java目录

2.2.4、进入到java目录,解压上传文件

  1. tar -zxvf +需要解压的包名
  2. tar -zxvf jdk-16.0.2_linux-x64_bin.tar.gz

2.2.5、编辑配置文件,配置环境变量,vim /etc/profile进入编辑状态,在打开的文件最后面加上如下代码:

  1. JAVA_HOME=/usr/local/java/jdk-16.0.2
  2. CLASSPATH=$JAVA_HOME/lib/
  3. PATH=$PATH:$JAVA_HOME/bin
  4. export PATH JAVA_HOME CLASSPATH

2.2.6、重新加载配置文件,输入:

  1. source /etc/profile

2.2.7、最后一步,查看安装情况

  1. java -version

输入:

  1. 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

  1. <?xml version="1.0"?>
  2. <!DOCTYPE mycat:schema SYSTEM "schema.dtd">
  3. <mycat:schema xmlns:mycat="http://io.mycat/">
  4. <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
  5. <table name="table1" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />
  6. </schema>
  7. #表为三个表,分别在三个服务器中,a1、a2、a4分为为三个服务器中的三个数据库
  8. <dataNode name="dn1" dataHost="localhost1" database="a1" />
  9. <dataNode name="dn2" dataHost="localhost1" database="a2" />
  10. <dataNode name="dn3" dataHost="localhost1" database="a4" />
  11. <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
  12. <heartbeat>select user()</heartbeat>
  13. <writeHost host="hostM1" url="192.168.72.140:3306" user="root" password="123456789aA!">
  14. <!-- can have multi read hosts -->
  15. <readHost host="hostS2" url="192.168.72.140:3306" user="root" password="" />
  16. <readHost host="hostS2" url="192.168.72.141:3306" user="root" password="" />
  17. </writeHost>
  18. </dataHost>
  19. </mycat:schema>

3.1.3.2、启动Mycat

  1. ./mycat/bin/mycat
  1. [root@mycat2 mycat]# ./mycat/bin/mycat
  2. Usage: ./mycat/bin/mycat { console | start | stop | restart | status | dump }
  3. #控制台|启动|停止|重启|状态|转储
  4. #执行命令的方式
  5. ./mycat/bin/mycat +操作
  6. #控制台:
  7. ./mycat/bin/mycat console
  8. #启动:
  9. ./mycat/bin/mycat start
  10. #停止:
  11. ./mycat/bin/mycat stop
  12. #重启:
  13. ./mycat/bin/mycat restart
  14. #状态:
  15. ./mycat/bin/mycat status
  16. #转储:
  17. ./mycat/bin/mycat dump

3.2、服务器下载wget

  1. wget http://dl.mycat.org.cn/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

3.3、解压

  1. tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

3.4、启动

  1. ./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文件的配置:

  1. <?xml version="1.0"?>
  2. <!DOCTYPE mycat:schema SYSTEM "schema.dtd">
  3. <mycat:schema xmlns:mycat="http://io.mycat/">
  4. <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
  5. <table name="table1" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />
  6. </schema>
  7. <dataNode name="dn1" dataHost="localhost1" database="a1" />
  8. <dataNode name="dn2" dataHost="localhost2" database="a1" />
  9. <dataNode name="dn3" dataHost="localhost3" database="a1" />
  10. <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
  11. <heartbeat>select user()</heartbeat>
  12. <writeHost host="hostM1" url="192.168.72.143:3306" user="root" password="aA123456.">
  13. <!-- can have multi read hosts -->
  14. <!-- <readHost host="hostS2" url="192.168.72.140:3306" user="root" password="" /> <readHost host="hostS2" url="192.168.72.141:3306" user="root" password="" /> -->
  15. </writeHost>
  16. </dataHost>
  17. <dataHost name="localhost2" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
  18. <heartbeat>select user()</heartbeat>
  19. <writeHost host="hostM1" url="192.168.72.150:3306" user="root" password="aA123456.">
  20. </writeHost>
  21. </dataHost>
  22. <dataHost name="localhost3" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
  23. <heartbeat>select user()</heartbeat>
  24. <writeHost host="hostM1" url="192.168.72.151:3306" user="root" password="aA123456.">
  25. </writeHost>
  26. </dataHost>
  27. </mycat:schema>

也可配置为:

  1. <?xml version="1.0"?>
  2. <!DOCTYPE mycat:schema SYSTEM "schema.dtd">
  3. <mycat:schema xmlns:mycat="http://io.mycat/">
  4. <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
  5. <table name="table1" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />
  6. </schema>
  7. <dataNode name="dn1" dataHost="localhost1" database="a1" />
  8. <dataNode name="dn2" dataHost="localhost1" database="a1" />
  9. <dataNode name="dn3" dataHost="localhost1" database="a1" />
  10. <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
  11. <heartbeat>select user()</heartbeat>
  12. <writeHost host="hostM1" url="192.168.72.143:3306" user="root" password="aA123456.">
  13. <!-- can have multi read hosts -->
  14. <!-- <readHost host="hostS2" url="192.168.72.140:3306" user="root" password="" /> <readHost host="hostS2" url="192.168.72.141:3306" user="root" password="" /> -->
  15. </writeHost>
  16. <writeHost host="hostM1" url="192.168.72.150:3306" user="root" password="aA123456.">
  17. </writeHost>
  18. <writeHost host="hostM1" url="192.168.72.151:3306" user="root" password="aA123456.">
  19. </writeHost>
  20. </dataHost>
  21. </mycat:schema>

登录Mycat:

mysql -h127.0.0.1 -uroot -p123456 -P8066

-h:为本机地址,也可以是你的IP地址
-u:Mycat中配置的用户名
-p:Mycat中配置的密码
-P:端口
注意:如果需要在命令端登录,需要安装MySQL

资料:

Mycat下载地址

JDK下载地址

相关文章