linux安装mycat
1.解压mycat
1.tar -zxvf /usr/local/tmp/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
2.把mycat文件夹移动到 /usr/local/ 下mv Mycat-server-1.6-RELEASE-20161012170031-linux /usr/local/mycat
3. mysql -uroot -p123456
在mysql创建mycat访问mysql的用户
master提供可被mycat访问的用户
GRANT all privileges ON . to 'mycat'@'%' identified by '123456' with grant option;
4.启动Mycat
/usr/local/mycat/bin/mycat start
5.查看状态
/usr/local/mycat/bin/mycat status
6.命令行访问方式:
在windows窗口开始访问:
mycat默认用户名 root 默认密码 123456
mysql -uroot -p123456 -h192.168.159.134 -P8066
以下都是mycat里面的库信息,表信息,并非mysql里面的
7.mycat配置文件解读
mycat中的schema.xml配置文件:
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="TESTDB1" checkSQLschema="false" sqlMaxLimit="100">
<table name="t_user" dataNode="dn1,dn2,dn3" rule="crc32slot">
<childTable name="t_admin" joinKey="user_id" parentKey="id" />
</table>
</schema>
<dataNode name="dn1" dataHost="localhost1" database="db1" />
<dataNode name="dn2" dataHost="localhost1" database="db2" />
<dataNode name="dn3" dataHost="localhost1" database="db3" />
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="native" switchType="2" slaveThreshold="100">
<heartbeat>show slave status</heartbeat>
<writeHost host="hostM1" url="192.168.199.184:3306" user="root"
password="root">
</writeHost>
<writeHost host="hostS1" url="192.168.199.116:3306" user="root" password="root" />
</dataHost> 有问题查日志:
开始手动创建表,mycat和mysql的关联都是通过schema.xml文件配置生效的
用mycat存储数据后,真实数据库存储数据分片存储
分片规则需要配置,否则分库的情况默认只会向两个库中存储:
原因找到了:
conf下面有一个ruledata,里面只分了两区,就算更改schema.xml中的分片的值,这个也不会改;解决方法就是把这个文件删了,重启,就会变成多片了
读写分离:
我理解读写分离的意思就是:
写数据只在主节点进行,根据主从关系会相应备份到从节点;而读只从从节点读取;例子就是在从节点随便新增一条数据,看看mycat里面是否读取到从节点独有的数据;