应用: mycat -> 添加服务: mycat
镜像: justusqiao/mycat:latest
卷:
/etc/localtime:/etc/localtime:ro
/data/file:/data/file/
/data/docker/mysql/mycat:/usr/local/mycat/conf:ro
/data/file/logs/mycat/:/usr/local/mycat/logs
端口:8066, 9066, 8082(http)
mycat数据端口默认为8066,管理端口默认为9066;
mysql -hmycat -umycat -pwdqdmm@MyCat -P9066 -ddomsn
# Mycat - 9066管理端口常用命令
https://abc.htmltoo.com/thread-45899.htm
# 通过navcat进行链接测试:(server.xml)
地址:file.htmltoo.com 端口:8066 账号:mycat 密码:wdqdmm@MyCat
# mysql8 集群部署 - 双主多从
https://abc.htmltoo.com/thread-45887.htm
# zookeeper 集群部署
https://abc.htmltoo.com/thread-45885.htm
# Mycat 说明
https://abc.htmltoo.com/thread-45890.htm
# MyCat读写分离配置
https://abc.htmltoo.com/thread-45891.htm
# MyCat垂直分库配置
https://abc.htmltoo.com/thread-45892.htm
# MyCat全局表配置
https://abc.htmltoo.com/thread-45893.htm
# Mycat-Web 监控
https://abc.htmltoo.com/thread-45900.htm
# 常用水平分库
水平分库指的是将一个数据量庞大的数据表分别保存到不同的数据库里,即:现在有多个数据库,这个库保存同样结构的数据表,这些数据根据MyCat的算法,分别保存到符合自身要求的数据库的数据表中,MyCat的分片规则配置文件在:/usr/local/mycat/conf/rule.xml中,目前常用的分片规则有:
求模分库:mod-long
范围分库:auto-sharding-long
Hash分库:hash-int
月分库:sharding-by-month
ER模型分库:childTable
自定义分库:CustomRule(该方式需要自己实现分库算法)
1.Mycat - 求模分库
https://abc.htmltoo.com/thread-45894.htm
2.Mycat - 范围分库
https://abc.htmltoo.com/thread-45895.htm
3.Mycat - Hash分库
https://abc.htmltoo.com/thread-45896.htm
4.Mycat - 按月分库
https://abc.htmltoo.com/thread-45897.htm
5.Mycat - ER模型分库
https://abc.htmltoo.com/thread-45898.htm
# 修改配置
vi /data/docker/mysql/mycat/schema.xml
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="domsn" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1" />
<dataNode name="dn1" dataHost="localhost1" database="htmltoossh" />
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="10.42.84.19:3306" user="ihunter" password="wdqdmm@m">
<readHost host="hostS3" url="10.42.80.178:3306" user="ihunter" password="wdqdmm@m" />
<readHost host="hostS4" url="10.42.229.146:3306" user="ihunter" password="wdqdmm@m" />
</writeHost>
<writeHost host="hostM2" url="10.42.228.33:3306" user="ihunter" password="wdqdmm@m">
<readHost host="hostS3" url="10.42.80.178:3306" user="ihunter" password="wdqdmm@m" />
<readHost host="hostS4" url="10.42.229.146:3306" user="ihunter" password="wdqdmm@m" />
</writeHost>
</dataHost>
</mycat:schema>
vi /data/docker/mysql/mycat/server.xml
<user name="mycat" defaultAccount="true">
<property name="password">wdqdmm@MyCat</property>
<property name="schemas">domsn</property>
</user>
<user name="readonly">
<property name="password">wdqdmm@ReadOnly</property>
<property name="schemas">domsn</property>
<property name="readOnly">true</property>
</user>
======================
show @@sql;
Empty set (0.01 sec)
一直查不出数据
-查看在 Mycat 中执行过的SQL语句,需要确认 server.xml 配置文件中的 <property name="useSqlStat">1</property>