CentOS7.5 搭建MyCat1.6.6

it2022-05-05  65

1、环境及版本

操作系统:   CentOS 7.5

MySQL:5.7.23

jdk:1.8.0_191

MyCat:1.6.6.1

cat /etc/centos-release mysql -V java -version

  

 

 

 

2、安装包准备

下载网站:http://dl.mycat.io/1.6.6/

 

 

 

 

 【2】上传至linux服务器:

mkdir /home/rhr/soft/mycat cd /home/rhr/soft/mycat rz

  

 

 

 3、开始安装

【1】解压

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

【2】安装tree(可选,使目录结构更好看)

yum -y install tree

查看tree:

4、创建用户并修改配置文件

【1】为了更好的进入mycat,设置MYCAT_HOME的变量

vim /etc/profile

 添加绿色部分:

export JAVA_HOME=/home/rhr/soft/jdk/jdk1.8.0_191export MYCAT_HOME=/home/rhr/soft/mycat/mycatexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:/usr/local/mysql/bin:$MYCAT_HOME/bin:$PATH

使得变量生效 source /etc/profile

  检查

【2】配置mycat文件

(1)修改server.xml

cd home/rhr/soft/mycat/mycat/conf cp server.xml server_bak.xml vim server.xml

修改前:

修改后:

 

 

(2)修改schema.xml

 1)  修改schema 标签

修改前:

<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100"> <!-- auto sharding by id (long) --> <table name="travelrecord" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" /> <!-- global table is auto cloned to all defined data nodes ,so can join with any table whose sharding node is in the same data node --> <table name="company" primaryKey="ID" type="global" dataNode="dn1,dn2,dn3" /> <table name="goods" primaryKey="ID" type="global" dataNode="dn1,dn2" /> <!-- random sharding using mod sharind rule --> <table name="hotnews" primaryKey="ID" autoIncrement="true" dataNode="dn1,dn2,dn3" rule="mod-long" /> <!-- <table name="dual" primaryKey="ID" dataNode="dnx,dnoracle2" type="global" needAddLimit="false"/> <table name="worker" primaryKey="ID" dataNode="jdbc_dn1,jdbc_dn2,jdbc_dn3" rule="mod-long" /> --> <table name="employee" primaryKey="ID" dataNode="dn1,dn2" rule="sharding-by-intfile" /> <table name="customer" primaryKey="ID" dataNode="dn1,dn2" rule="sharding-by-intfile"> <childTable name="orders" primaryKey="ID" joinKey="customer_id" parentKey="id"> <childTable name="order_items" joinKey="order_id" parentKey="id" /> </childTable> <childTable name="customer_addr" primaryKey="ID" joinKey="customer_id" parentKey="id" /> </table> <!-- <table name="oc_call" primaryKey="ID" dataNode="dn1$0-743" rule="latest-month-calldate" /> --> </schema>

 

修改后:

<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100"> <!-- auto sharding by id (long) --> <table name="travelrecord" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" /> <!-- global table is auto cloned to all defined data nodes ,so can join with any table whose sharding node is in the same data node --> <table name="company" primaryKey="company_id" type="global" dataNode="dn1,dn2,dn3" /> <table name="goods" primaryKey="goods_id" type="global" dataNode="dn1,dn2" /> <!-- random sharding using mod sharind rule --> <table name="hotnews" primaryKey="hotnews_id" autoIncrement="true" dataNode="dn1,dn2,dn3" rule="mod-long" /> <!-- <table name="dual" primaryKey="ID" dataNode="dnx,dnoracle2" type="global" needAddLimit="false"/> <table name="worker" primaryKey="ID" dataNode="jdbc_dn1,jdbc_dn2,jdbc_dn3" rule="mod-long" /> --> <table name="employee" primaryKey="employee_id" dataNode="dn1,dn2" rule="sharding-by-intfile" /> <table name="customer" primaryKey="customer_id" dataNode="dn1,dn2" rule="sharding-by-murmur"> <childTable name="orders" primaryKey="order_id" joinKey="customer_id" parentKey="customer_id"> <childTable name="order_items" joinKey="order_id" parentKey="order_id" /> </childTable> <childTable name="customer_addr" primaryKey="customer_addr_id" joinKey="customer_id" parentKey="customer_id" /> </table> <!-- <table name="oc_call" primaryKey="ID" dataNode="dn1$0-743" rule="latest-month-calldate" /> --> </schema>

 

 

 2)  修改schema 标签

修改前

<!-- can have multi write hosts --> <writeHost host="hostM1" url="localhost:3306" user="root" password="123"> <!-- can have multi read hosts --> <readHost host="hostS2" url="localhost:3306" user="root" password="123" /> </writeHost> <writeHost host="hostS1" url="localhost:3306" user="root" password="123" /> <!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->

修改后:

<!-- can have multi write hosts --> <writeHost host="hostM1" url="localhost:3306" user="root" password="YYBrhr_2018"> <!-- can have multi read hosts --> <!-- <readHost host="hostS2" url="localhost:3306" user="root" password="123" /> --> </writeHost> <!-- <writeHost host="hostS1" url="localhost:3306" user="root" password="123" /> --> <!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> --> </dataHost>

(3)修改role.xml

修改前:    

<tableRule name="sharding-by-intfile"> <rule> <columns>sharding_id</columns> <algorithm>hash-int</algorithm> </rule> </tableRule> <tableRule name="auto-sharding-long"> <rule> <columns>id</columns> <algorithm>rang-long</algorithm> </rule> </tableRule> <tableRule name="mod-long"> <rule> <columns>id</columns> <algorithm>mod-long</algorithm> </rule> </tableRule> <tableRule name="sharding-by-murmur"> <rule> <columns>id</columns> <algorithm>murmur</algorithm> </rule> </tableRule>

 

修改后:

<tableRule name="sharding-by-intfile"> <rule> <columns>employee_id</columns> <algorithm>hash-int</algorithm> </rule> </tableRule> <tableRule name="auto-sharding-long"> <rule> <columns>id</columns> <algorithm>rang-long</algorithm> </rule> </tableRule> <tableRule name="mod-long"> <rule> <columns>hotnews_id</columns> <algorithm>mod-long</algorithm> </rule> </tableRule> <tableRule name="sharding-by-murmur"> <rule> <columns>customer_id</columns> <algorithm>murmur</algorithm> </rule> </tableRule>

 5、启动mycat并测试

【1】启动mycat

 

mycat start mycat status

【2】测试

 

mysql -u root -p -P8066 -h 127.0.0.1

这里输入的密码,是在/home/rhr/soft/mycat/mycat/conf/server.xml里面看到的密码

 

 

这样就说明安装成功了,安装或者启动mycat之前

 

转载于:https://www.cnblogs.com/yybrhr/p/9814860.html

相关资源:数据结构—成绩单生成器

最新回复(0)