前言
mycat可以看成是一个代理数据库服务器,可以代理mysql,orace等,主要我接触的是mysql。
以前我们项目中用的mysql,现在用mycat就可以连mysql数据库。
当然mycat只是个替身,他真正工作需要真实的mysql物理机,我们用配置文件就可指定做个,做分库处理和读写分离处理。
我觉得一个完整的了解mycat,应该包括他的原理,配置,hello-world,然后就是具体的api,然后就是项目中如何去使用。
现在我是第一次接触,配置个东西也磕磕绊绊的。记录下,有机会用到的话 就具体专研。
配置
docker 拉取运行mycat
docker run --name mycat -v /docker/mycat/conf/:/usr/local/mycat/conf -v /docker/mycat/rule.xml:/usr/local/mycat/rule.xml --privileged=true -p 8066:8066 -p 9066:9066 -e MYSQL_ROOT_PASSWORD=root -d longhronshens/mycat-docker
提前准备好映射目录
这是最主要的三个配置文件。外部映射下。
server主要配置 mycat的连接名和密码 等用户信息
schema主要配置具体的分库物理数据库,读写数据库
rule 配置具体的分库规则,是按照id的hash还是根据其 分段区间等
具体配置参考
分库
读写分离
测试
其中遇到个坑,不能操作表,我进入docker中的mysql容器中。用命令操作连接了下 mycat,然后再命令行操作可以:
mysql -h192.168.157.111 -umycatroot -p123456 -P8066
先连接上再操作就可以了。!!