Mysql-Mycat
安装配置
1、下载
从如下地址下载mycat的安装包:
eg:Mycat-server-1.6.6.1-release-20181031195535-win.tar.gz
2、解压
解压下载的安装包
3、安装
安装mycat前需要先安装jdk和mysql。mycat1.6版本建议使用的jdk是1.7以上版本,mysql建议使用5.6版本。安装完jdk和mysql后,进入mycat解压目录下的bin目录,如本文的路径如下:
D:\mycat\bin
管理员运行cmd命令行窗口中,执行如下命令安装mycat(注意需要管理员账户登录,如果不是请使用管理员身份运行cmd打开命令行窗口):
mycat.bat install
4、启动和停止
启动mycat服务
mycat.bat start
查看mycat的运行状态:
mycat.bat status
停止mycat服务
mycat.bat stop
水平分库,根据分片规则进行分片
https://www.cnblogs.com/756623607-zhang/p/6656022.html
一、枚举法、二、固定分片hash算法、三、范围约定、四、求模法 、五、日期列分区法、六、通配取模、七、ASCII码求模通配、八、编程指定、九、字符串拆分hash解析、十、一致性hash
5.1、修改mycat与mysql的链接信息
默认的数据库8066,9066
执行完后使用8066
配置参考文档: https://blog.csdn.net/qq_41782550/article/details/101854971
配置文件的标签、参数详解: https://www.cnblogs.com/fxwl/p/7990906.html
schema.xml配置文件是mycat中重要的配置文件之一,它涵盖了mycat的逻辑库、表、分片规则、分批按节点及数据源。
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="MYCAT_DB" checkSQLschema="true" sqlMaxLimit="100">
<table name="t_user" primaryKey="id" autoIncrement="true" dataNode="db1,db2" rule="mod-long"/>
</schema>
<dataNode name="db1" dataHost="localhost" database="db1"/>
<dataNode name="db2" dataHost="remotehost" database="db2"/>
<dataHost name="localhost" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select t_user()</heartbeat>
<writeHost host="hostM1" url="localhost:3306" user="root" password="123456"></writeHost>
</dataHost>
<dataHost name="remotehost" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select t_user()</heartbeat>
<writeHost host="hostM1" url="localhost:3306" user="root" password="123456"></writeHost>
</dataHost>
</mycat:schema>
server.xml文件中添加几个库标签
<user name="root">
<property name="password">123456</property>
<property name="schemas">MYCAT_DB</property>
</user>
rule.xml文件中 修改如下标签
<function name="mod-long" class="io.mycat.route.function.PartitionByMod">
<!-- 配置实际参与库的个数-->
<property name="count">2</property>
</function>
配置结果如下参考;