MySQL数据库高可用

个人专题目录


一、MySQL+MyCat分库分表

1 MyCat简介

java编写的数据库中间件

Mycat运行环境需要JDK.

Mycat是中间件.运行在代码应用和MySQL数据库之间的应用.

前身 : corba. 是阿里开发的数据库中间件.实现MySQL数据库分库分表集群管理的中间件.曾经出现过重大事故. 二次开发,形成Mycat.

使用MyCat之后,编写的所有的SQL语句,必须严格遵守SQL标准规范.

insert into table_name(column_name) values(column_value);

使用MyCat中间件后的结构图如下:

2 MyCat术语简介

2.1 切分

逻辑上的切分. 在物理层面,是使用多库[database],多表[table]实现的切分.

2.1.1 纵向切分

把一个数据库切分成多个数据库,配置方便

只能实现两张表的表连接查询.

将一张表中的数据,分散到若干个database的同结构表中。多个表的数据的集合是当前表格的数据。

clip_image006.png
2.1.2 横向切分

把一个表切分成多个表,相比纵向切分配置麻烦

无法实现表连接查询.

将一张表的字段,分散到若干张表中,将若干表连接到一起,才是当前表的完整数据。

clip_image007.png

2.2 逻辑库

Mycat中定义的database.是逻辑上存在的.但是物理上未必存在.

主要是针对纵向切分提供的概念.

访问MyCat,就是将MyCat当做MySQL使用。

Db数据库是MyCat中定义的database。通过SQL访问MyCat中的db库的时候,对应的是MySQL中的db1,db2,db3三个库。物理上的database是db1,db2,db3.逻辑上的database就是db。

clip_image008.png

2.3 逻辑表

Mycat中定义的table.是逻辑上存在,物理上未必存在.

主要是针对横向切分提供的概念

MyCat中的表格table,其字段分散到MySQL数据库的表格table1,table2,table3中。

clip_image009.png

2.4 默认端口

Mycat默认端口是8066

2.5 数据主机 - dataHost

物理MySQL存放的主机地址.可以使用主机名,IP,域名定义.

2.6 数据节点 - dataNode

物理的database是什么.数据保存的物理节点.就是database.

2.7 分片规则

当控制数据的时候,如何访问物理database和table.

就是访问dataHost和dataNode的算法.

在Mycat处理具体的数据CRUD的时候,如何访问dataHost和dataNode的算法.如:哈希算法,crc16算法等.

3 Mycat搭建

3.1 安装JDK

3.2 主从备份搭建完成

3.3 安装mycat

解压缩: tar -zxf mycat-xxxx.tar.gz

3.4 Master提供可被Mycat访问的用户

在Mycat中通过Master数据库的root用户访问Master数据库.

grant all privileges on . to ‘username’@’ip’ identified by ‘password’ with grant option;

grant all privileges on . to 'mycat'@'%' identified by 'mycat' with grant option;

3.5 上传mycat

Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

3.6 解压缩

tar -zxf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

3.7 Mycat配置文件详解

Mycat所有的配置文件,都在应用的conf目录中.

3.7.1 rule.xml

用于定义分片规则的配置文件.

主要是查看.很少修改.

mycat默认的分片规则: 以500万为单位,实现分片规则.

逻辑库A对应dataNode - db1和db2. 1-500万保存在db1中, 500万零1到1000万保存在db2中,1000万零1到1500万保存在db1中.依次类推.

       <tableRule   name="auto-sharding-long">                   <rule>                             <columns>id</columns>                             <algorithm>rang-long</algorithm>                   </rule>           </tableRule>   

crc32slot规则: 在CRUD操作时,根据具体数据的crc32算法计算,数据应该保存在哪一个dataNode中. 算法类似模运算.

      <tableRule   name="crc32slot">                   <rule>                             <columns>id</columns>                             <algorithm>crc32slot</algorithm>                   </rule>           </tableRule>    
3.7.2 schema.xml

用于定义逻辑库和逻辑表的配置文件.在配置文件中可以定义读写分离,逻辑库,逻辑表,dataHost,dataNode等信息.

配置文件解释:

3.7.2.1 标签schema

配置逻辑库的标签

3.7.2.1.1 属性name

逻辑库名称

3.7.2.1.2 属性checkSQLschema

是否检测SQL语法中的schema信息.

如: Mycat逻辑库名称 A, dataNode名称B

SQL : select * from A.table;

checkSQLschema值是true, Mycat发送到数据库的SQL是select * from table;

checkSQLschema值是false,Mycat发送的数据库的SQL是select * from A.table;

3.7.2.1.3 sqlMaxLimit

Mycat在执行SQL的时候,如果SQL语法中没有limit子句.自动增加limit子句. 避免一次性得到过多的数据,影响效率. limit子句的限制数量默认配置为100.如果SQL中有具体的limit子句,当前属性失效.

SQL : select * from table . mycat解析后: select * from table limit 100

SQL : select * from table limit 10 . mycat不做任何操作修改.

3.7.2.2 标签table
还有 72% 的精彩内容
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,583评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,669评论 2 374
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,684评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,682评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,533评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,396评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,814评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,458评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,745评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,789评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,565评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,410评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,828评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,050评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,342评论 1 253
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,793评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,010评论 2 337

推荐阅读更多精彩内容