MyCat
1、为什么分库分表
2、分库分表怎么分
3、分库分表怎么操作
4、解决我们实战过程中的一些问题
2、分库分表怎么分
schema.xml文件
其中schema就是数据库,一个逻辑数据库,
DataNode是相关的具体数据库
dataHost是具体数据库的配置信息
heartbeat是心跳检测包
Writehost和readhost就是读写分离的配置
datahost的节点
name:唯一表示打他host标签,供上层的标签使用
maxcon指定每个读写实例连接池的最大连接
mincon指定每个读写实例连接池的最小连接,初始化连接池的大小
balance 负载均衡类型,4钟
0、不开启读写分离机制,所有读操作都发送到当前可用的writrehost上
1、全部的readhost与standbywritewhost(非主非从)参与select语句的负载均衡,简单的说,当双主双从模式
2、所有读操作都随机在write和read上分发
3、所有读请求随机的分发到write对应的readhost上执行,writehost不负担读写writetype
dbtype:指定都断连接的数据库类型,目前支持二进制的mysql协议,还有其他使用JDBC连接的数据库,
如:mongodb、oracle、spqrk
dbdriver指定连接后端数据库使用Driver,目前可选的有native和JDBC,使用native,因为这个值执行的是二进制的musql协议
switchtype,
-1表示不自动切换
1、默认值、自动切换
2、基于mysql主从同步的状态决定是否切换心跳语句为show slave status
3基于mysql glary cluster的切换机制。适合集群,心跳语句为 show status like ‘wsrep%’
temReadhostAvailable :如果配置了这个属性,WriteHost下面的readHost人就可用,默认0,(0,1)
sequence_conf
使用mycat后mysql本身的自增就不好使了。需要用到mycat的自增
用语句next value for MYCATSEQ_GLOBAL