MyCat学习笔记

2021/5/14 18:27:21

本文主要是介绍MyCat学习笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

MyCat学习笔记

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

基础

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

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

安装配置MyCat

详见:

  • 一步一步在Windows中使用MyCat负载均衡 上篇
  • 一步一步在Windows中使用MyCat负载均衡 下篇

目录结构

详见:

  • mycat目录结构以及主要配置文件解读
  • mycat实现mysql读写分离

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

监控

详见 :

  • WINDOWS下安装MYCAT-WEB

需要注意的点

  • 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学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程