【MyCat】linux安装与配置
概念
Schema.xml
Schema.xml管理着MyCat的逻辑库、表、分片规则、DataNode以及DataSource
- < schema >标签:用于定义MyCat实例中的逻辑库
- < table >标签:定义了MyCat中的逻辑表
- < dataNode >标签:定义了MyCat中的数据节点,也就是数据分片
- < dataHost >标签:定义了具体的数据库实例、读写分离配置和心跳语句
server.xml
server.xml几乎保存了所有mycat需要的系统配置信息
最常用的是在此配置用户名、密码及权限。
rule.xml
rule.xml里面就定义了对表进行拆分所涉及到的规则定义,可以灵活的对表使用不同的分片算法,或者对表使用相同的算法但具体的参数不同
这个文件里面主要有< tableRule >和< function > 这两个标签。在具体使用过程中可以按照需求添加tableRule和function
安装Mycat
- 解压缩Mycat,
tar zxf Mycat-server-1.4-release-linux.tar.gz
- 复制文件夹,
cp -r mycat /usr/local
- 进入mycall路径,
cd /usr/local/mycat/bin
- 后台启动mycat,
./mycat start
- 控制台启动mycat,
./mycat console
mycat支持命令:console | start | stop | restart | status | dump
mycat默认端口号:8066
配置
设置mysql对大小写不敏感
- 编辑mysql配置文件,
vim /etc/my.cnf
- 添加配置,
lower_case_table_names=1
- 重启mysql服务
修改配置文件
- 进入conf路径,
cd mycat/conf
- 修改配置文件schema.xml,
vim schema.xml
,见下文 [ schema.xml ] - 修改配置文件server.xml,
vim server.xml
,见下文 [ server.xml ]
[ schema.xml ]
<schema name="mall" checkSQLschema="false" sqlMaxLimit="100">
<table name="tb_user" dataNode="dn1,dn2" rule="auto-sharding-long" />
<table name="tb_item" dataNode="dn2,dn3" rule="auto-sharding-long" />
</schema>
<dataNode name="dn1" dataHost="localhost1" database="db1" />
<dataNode name="dn2" dataHost="localhost2" database="db2" />
<dataNode name="dn3" dataHost="localhost3" database="db3" />
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" dbType="mysql" dbDriver="jdbc" writeType="0" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="jdbc:mysql://192.168.1.150:3306" user="root" password="root"></writeHost>
</dataHost>
<dataHost name="localhost2" maxCon="1000" minCon="1" balance="0" dbType="mysql" dbDriver="jdbc">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM2" url="jdbc:mysql://192.168.1.151:3306" user="root" password="root"></writeHost>
</dataHost>
<dataHost name="localhost3" maxCon="1000" minCon="1" balance="0" dbType="mysql" dbDriver="jdbc">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM3" url="jdbc:mysql://192.168.1.152:3306" user="root" password="root"></writeHost>
</dataHost>
[ server.xml ]
<user name="user">
<property name="password">user</property>
<property name="schemas">mall</property>
<!-- <property name="readOnly">true</property> -->
</user>
制定计划、物质驱动、立即执行、反复提醒、阶段反馈、输出博客