Mycat如何实现Mysql集群读写分离

发布时间:2022-01-24 09:20:28 作者:小新
来源:亿速云 阅读:123

这篇文章给大家分享的是有关Mycat如何实现Mysql集群读写分离的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

MySQL 读写分离的概述

读写分离工作原理

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

为什么要读写分离

实现读写分离的方式

Mycat如何实现Mysql集群读写分离

中间件层实现:

Mycat如何实现Mysql集群读写分离


什么是 MyCAT

Mycat如何实现Mysql集群读写分离


MyCat 服务安装与配置

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

MyCat 服务启动与启动设置

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

mycat 的用户账号和授权信息是在 conf/server.xml 文件中配置

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

编辑 MyCAT 的配置文件 schema.xml,关于 dataHost 的配置信息如下:

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

  schema:逻辑库,与MySQL中的Database(数据库)对应,一个逻辑库中定义了所包括的Table。
  table:表,即物理数据库中存储的某一张表,与传统数据库不同,这里的表格需要声明其所存储的逻辑数据节点DataNode,这是通过表格的分片规则定义来实现的,table可以定义其所属的“子表(childTable)”,子表的分片依赖于与“父表”的具体分片地址,简单的说,就是属于父表里某一条记录A的子表的所有记录都与A存储在同一个分片上。
分片规则:是一个字段与函数的捆绑定义,根据这个字段的取值来返回所在存储的分片(DataNode)的序号,每个表格可以定义一个分片规则,分片规则可以灵活扩展,默认提供了基于数字的分片规则,字符串的分片规则等。
  dataNode: MyCAT的逻辑数据节点,是存放table的具体物理节点,也称之为分片节点,通过DataSource来关联到后端某个具体数据库上,一般来说,为了高可用性,每个DataNode都设置两个DataSource,一主一从,当主节点宕机,系统自动切换到从节点。
  dataHost:定义某个物理库的访问地址,用于捆绑到dataNode上。

MyCAT目前通过配置文件的方式来定义逻辑库和相关配置:
  MYCAT_HOME/conf/schema.xml中定义逻辑库,表、分片节点等内容;
  MYCAT_HOME/conf/rule.xml中定义分片规则;
  MYCAT_HOME/conf/server.xml中定义用户以及系统相关变量,如端口等。

注解:
schema 标签用于定义 MyCat 实例中的逻辑库,name:后面就是逻辑库名 MyCat 可以有多个逻辑库,每个逻辑库都有自己的相关配置。可以使用 schema 标签来划分这些不同的逻辑库。
checkSQLschema 这个属性默认就是 false,官方文档的意思就是是否去掉表前面的数据库的名称,”select * from db1.testtable” ,设置为 true 就会去掉 db1。但是如果 db1 的名称不是
schema 的名称,那么也不会被去掉,因此官方建议不要使用这种语法。同时默认设置为 false。
sqlMaxLimit 当该值设置为某个数值时。每条执行的 SQL 语句,如果没有加上 limit 语句,MyCat 也会自动的加上所对应的值。例如设置值为 100,执行”select * from test_table”,则效果为
“selelct * from test_table limit 100”.
dataNode 标签定义了 MyCat 中的数据节点,也就是我们通常说所的数据分片

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

配置 MySQL 主从

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离


Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离

Mycat如何实现Mysql集群读写分离


感谢各位的阅读!关于“Mycat如何实现Mysql集群读写分离”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

相关推荐:MyCat中怎么实现读写分离

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql mycat

上一篇:如何分析javascript作用域和作用域链

下一篇:Java数据结构中如何进行并查集的实现

相关阅读