服务器部署---《mycat篇》 --菜鸟慧言.md
服务器部署—《mycat篇》
汇总篇:
服务器配置篇汇总(linux)+(jdk)+(tomcat)+(mysql)+(nginx)+(redis)+(fastDFS)+(mycat)
接上篇:
服务器部署—《fastDFS篇》
七、mycat用于mysql数据库(安全组开启8066端口)
两个虚拟机分别建立两个数据库(版本5.7及以下,mycat5.8配置见文末连接)
创建:
mkdir /opt/mycat
进入:
cd /opt/mycat
上传:
解压:
tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
配置server.xml:
1
2
3
4
5
6
7
8vi /opt/mycat/mycat/conf/server.xml
//注释原有账号密码,添加自己账号密码
//配置示例代码如下:
<user name="root"><!--账号-->
<property name="password">HBQ521521cf*</property><!--密码-->
<property name="schemas">T_M</property> <!--mycat数据库名-->
<property name="readOnly">false</property><!--非只读模式-->
</user>配置schema.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32//建议新建该文件替换原有文件
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<!-- 数据库配置,与server.xml中的数据库对应,dataNode与分片配置name对应 -->
<schema name="T_M" checkSQLschema="true" sqlMaxLimit="100">
<table name="me" dataNode="dn1" /><!--me为ip=192.168.80.128的数据源中独有的表-->
<table name="do" dataNode="dn2" /><!--do为ip=192.168.80.131的数据源中独有的表-->
<table name="user" primaryKey="u_id" autoIncrement="true" dataNode="dn1,dn2" rule="mod-long" />
<!--user为公共主表-->
</schema>
<!-- 分片配置dataHost与物理数库name对应,数据源为物理数据源 -->
<dataNode name="dn1" dataHost="test1" database="T_M" />
<dataNode name="dn2" dataHost="test2" database="T_M" />
<!-- 物理数据库配置;此处host的url与/etc/hosts中配置对应 -->
<dataHost name="test1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native">
<heartbeat>select user();</heartbeat>
<writeHost host="hostM1" url="192.168.80.128:3306" user="root" password="HBQ521521cf*">
</writeHost>
</dataHost>
<dataHost name="test2" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native">
<heartbeat>select user();</heartbeat>
<writeHost host="hostM2" url="192.168.80.131:3306" user="root" password="HBQ521521cf*">
</writeHost>
</dataHost>
</mycat:schema>配置rule.xml
1
2
3
4
5
6
7
8
9
10
11//因为在schema.xml配置数据库rule="mod-long" 所以在此配置该函数的参数
<tableRule name="mod-long">
<rule>
<columns>u_id</columns><!--此处u_id为公共表user的主键-->
<algorithm>mod-long</algorithm>
</rule>
</tableRule>
<function name="mod-long" class="io.mycat.route.function.PartitionByMod">
<!-- how many data nodes -->
<property name="count">2</property><!--此处的2代表我们schema.xml配置的分片数-->
</function>9.配置hosts
1
2
3
4vi /etc/hosts
//添加
192.168.80.128 hostM1
192.168.80.131 hostM2启动mycat
1
2
3
4
5cd /opt/mycat/mycat/bin/
//启动
./mycat start
//关闭命令
./mycat stop使用navicat连接mycat
可能报错,查看日志
1
2
3
4
5
6
7
8
9
10
11
12vi /opt/mycat/mycat/logs/wrapper.log
//报错1:超时:
vi /opt/mycat/mycat/conf/wrapper.conf
//添加两句,保存重启
wrapper.startup.timeout=300000
wrapper.ping.timeout=300000
// 报错2:地址存在,端口占用
ps -ef|grep mycat
//找出占用端口
kill -9 占用端口
// 报错3.直接报错无法连接
mysql数据库版本高于5.7。请更换数据库或者参考下方链接mycat配置mysql5.8及以上版本
接下篇:
服务器部署—《linux加载git仓库代码打包并运行》
服务器部署---《mycat篇》 --菜鸟慧言.md
http://example.com/21450.html