SuSE上运行MyCat(二):配置单点MyCat

SuSE上运行MyCat(二):配置单点MyCat,第1张

通过本文 *** 作,搭建静态结构如下图的一个MyCat集群。为了节省资源,3个物理库都将存放在同一个MySQL实例当中。

MyCat的配置文件集中在其配置文件夹/usr/local/mycat/conf内,以下工作将以该文件夹为基准。

备份原有路由规则文件rule.xml后,将整个rule.xml改写成如下内容

备份原有虚拟库文件schema.xml后,将整个schema.xml改写成如下内容:

备份原有服务器配置文件server.xml后,将整个server.xml改写成如下内容:

备份原有ZooKeeper连接文件myid.properties后,将整个myid.properties改写成如下内容:

确认MySQL数据节点(192.168.35.125)正常运作后,在MyCat节点(192.168.35.121)上,以 *** 作系统用户root执行以下命令,启动MyCat。

在MySQL数据节点(192.168.35.125)上,使用如下语句打开 到MyCat的连接 。

屏幕显示如下,标志着我们已经可以通过访问虚拟表TESTDB.test_tbl,来获取分布在不同物理库mycat00、mycat01和mycat02里的同名物理表test_tbl的所有数据。

屏幕最后会显示如下内容。我们已经可以通过虚拟表TESTDB.test_tbl进行增删改 *** 作了。

在MySQL数据节点(192.168.35.125)上,使用如下语句打开 到MySQL物理库的连接 ,查看各个物理库的内容。

屏幕最后会显示如下内容。我们设置的分片路由规则起了效果,增删改的 *** 作反映到了对应的物理库中。

web项目使用 mybatis+mycat+mysql 的结构。

mycat作为中间件,mysql 使用多库分表

存在两张表: t_table (表的元数据信息) 和 t_table_field (表的字段信息)。

逻辑上, t_table_field 是作为 t_table 的子表。

t_table_field 某业务需求,为了减少 mybatis <>mycat 之间的网络IO,考虑使用批量插入数据。

mycat要使用批量插入数据,需要注意一下两点:

sql需要指明 Catlet -> BatchInsertSequence

sequence_db_conf.properties

schema.xml

t_table 和 t_table_field 表分了2个节点,rule 是根据ID取模(id % 2)分片。

t_table_field 表的配置要声明 primaryKey autoIncrement 属性。

MyCat实际发送到MySQL的SQL是组装上 ID 字段的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7872212.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存