MyCat学习笔记

MyCat学习笔记

MyCat官网 - Mycat数据库分库分表中间件
资源下载地址 : http://dl.mycat.io/

基础

先了解下理论概念:MySQL数据库切分

MySQL分布式数据库中间件对比, 通过这篇文章最终选择使用MyCat

安装配置MyCat

详见:

目录结构

详见:

附上我自己测试用的, 已经配置好的MyCat下载地址 :
链接: https://pan.baidu.com/s/1TYyBZAbIfF1jrgBoEDqpgQ 提取码: 5396
里面有个数据库文件夹, 里面的db1.sql, db2.sql, db3.sql是建库脚本, MyCat测试SQL.sql是测试用的脚本.
关于几个重要的配置文件, 像 schema.xml, rule.xml, server.xml 里面都有很详细的注释.

监控

详见 :

需要注意的点

  • useGlobleTableCheck ( 控制全局表的一致性检测 )

    如果设置了useGlobleTableCheck ( 这个配置在 server.xml中 ) 为开启状态的话,就需要在每个全局表中添加一个_mycat_op_time字段,类型为bigint, 不然会报**Unknown column ‘_mycat_op_time’ in ‘field list’**这个错误, 这个的原理就是通过在全局表增加_mycat_op_time字段来进行一致性检测,类型为bigint,create语句通过mycat执行会自动加上这个字段,其他情况请自己手工添加。

结合MySQL主从库实现读写分离

  1. 将dataHost改为下面这样:
<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 readHost 指定后端数据库的相关配置给mycat,用于实例化后端连接池。 -->
	<!-- 这就是一个简单的读写分离,主机是HostM1, 从机为HostS1 -->
	<!-- 可以有多个写(主)主机 -->
	<writeHost host="hostM1" url="localhost:3306" user="root" password="111111">
		<!-- 可以有多个读(从)主机 -->
		<readHost host="hostS1" url="192.168.0.145:3306" user="root" password="111111" />
	</writeHost>
</dataHost>

注意这里switchType="2", <heartbeat>show slave status</heartbeat>

  1. 配置MySQL主从库

    参考: windows下MySQL主从复制配置

上一篇:Mycat 常用管理命令说明


下一篇:Mycat Web监控工具