mycat详解

1.什么是数据库分片
通过某种特定条件,将同一数据库的数据分散到多个数据库(主机)上,以达到分散单台负载的效果。
(1)按不同的表来切分到不同数据库(主机)上,成为垂直切分,解决不了单表数据量大的问题。
(2)根据表中的数据逻辑关系,将同一个表的数据按照某种条件拆分到多台数据库(主机)上,称为水平切分,大部分使用的是水平切割,解决单表数据量大。
2.mycat安装启动
下载mycat,解压,进入bin目录,./mycat start。mycat需要配置上数据库才能正常启动。
3.mycat分片设置
(1)配置schema.xml
提示:Linux下的mysql表明区分大小写。

<?xml version="1.0"?>

<mycat:schema xmlns:mycat=“http://org.apencloudb/”>







select user()



select user()


//这样就把tb_item这个表分到dn1,dn2,dn3这三个节点上,规则是auto-sharding-long即根据id进行分片。
(2)配置server.xml
打开server.xml,

user
e3mall-32
//连接Mycat的用户名和密码都是user
(3)重启mycat
bin/mycat start
4.mycat读写分离配置
沿用以上分片的配置,进入schema.xml,在dataHost节点下添加
此外,dataHost节点中要保证balance=“1” writeType=“0” swithType=“2” slaveThreshold=“100”
心跳包检测要改为:
show slave status
//balance参数设置:
1.balance=“0”,所有读操作都发送到当前可用的writeHost上。
2.balance=“1”,所有读操作都随机发送到readHost.
3.balance=“2”,所有读操作都随机的在writeHost,readHost上分发
writeType参数设置:
1.writeType=“0”,所有写操作都发送到可用的writeHost上。
2.writeType=“1”,所有写操作随机发送到readHost上
3.writeType=“2”,所有写操作都随机的在writeHost,readHost上分发。

猜你喜欢

转载自blog.csdn.net/qq_21566775/article/details/85225617