mysql分区表mycat_MySQL 中间件之Mycat垂直分表配置

垂直分表就是将一个库下的多个表拆分到多个MySQL实例,实现库压力分流。

通过GTID模式复制,db01与db02之间不进行任何连接与复制

当前环境:

mycat --> db01与db02

db01 --> db03

db02 --> db04

当前垂直分表架构:

359201486ff04b6a0ccdedcad63642ee.png

后端数据库创建表:

在数据节点 1 创建 temp_1表 ,在数据节点 2 创建 temp_2表

[root@db01 ~]# mysql -uroot -p -e "create table course.temp_1(id int,name varchar(64));"

Enter password:

[root@db02 ~]# mysql -uroot -p -e "create table course.temp_2(id int,name varchar(64));"

Enter password:

Mycat配置分表:

[root@db-mycat conf]# cat schema.xml

# 在schema标签下定义table标签,指定 temp_1表在 dn1数据节点中 # 在schema标签下定义table标签,指定 temp_2表在 dn2数据节点中

# 定义 dn1数据节点

# 定义 dn2数据节点

# 定义 node1数据组主机

select user()

# 定义 node2数据组主机

select user()

重启Mycat服务:

mycat restart

查看数据节点状态:

db01与db03是一组数据库实例,db02与db04是一组数据库实例

[root@db-mycat conf]# mysql -uroot -p -h172.18.1.100 -P9066 -e "show @@datasource;"

Enter password:

+----------+------+-------+-------------+------+------+--------+------+------+---------+-----------+------------+

| DATANODE | NAME | TYPE | HOST | PORT | W/R | ACTIVE | IDLE | SIZE | EXECUTE | READ_LOAD | WRITE_LOAD |

+----------+------+-------+-------------+------+------+--------+------+------+---------+-----------+------------+

| dn1 | db01 | mysql | 172.18.1.76 | 3306 | W | 0 | 10 | 1000 | 85 | 0 | 0 |

| dn1 | db03 | mysql | 172.18.1.78 | 3306 | R | 0 | 7 | 1000 | 86 | 5 | 0 |

| dn2 | db02 | mysql | 172.18.1.77 | 3306 | W | 0 | 10 | 1000 | 85 | 0 | 0 |

| dn2 | db04 | mysql | 172.18.1.79 | 3306 | R | 0 | 7 | 1000 | 82 | 1 | 0 |

+----------+------+-------+-------------+------+------+--------+------+------+---------+-----------+------------+

查看Mycat中间件所有表:

可以看到 Mycat中间件可以在 course库下看到 两张表

已经实现 垂直分表效果

[root@db-mycat conf]# mysql -uroot -p -h172.18.1.100 -P8066 -e "use course; show tables;"

Enter password:

+------------------+

| Tables_in_course |

+------------------+

| temp_1 |

| temp_2 |

+------------------+

# 通过 Mycat中间件插入两条数据到 temp_1 temp_2 表内

[root@db-mycat conf]# mysql -uroot -p -h172.18.1.100 -P8066 -e "insert into course.temp_1 values(1,'aa');"

Enter password:

[root@db-mycat conf]# mysql -uroot -p -h172.18.1.100 -P8066 -e "insert into course.temp_2 values(2,'bb');"

Enter password:

# 通过 Mycat中间件查看被垂直分表的

[root@db-mycat conf]# mysql -uroot -p -h172.18.1.100 -P8066 -e "use course; select * from temp_1;"

Enter password:

+------+------+

| id | name |

+------+------+

| 1 | aa |

+------+------+

[root@db-mycat conf]# mysql -uroot -p -h172.18.1.100 -P8066 -e "use course; select * from temp_2;"

Enter password:

+------+------+

| id | name |

+------+------+

| 2 | bb |

+------+------+

查看后端真实数据库表:

可以看到每个数据库实例组 course库下只有一张表。

同时通过 Mycat插入的数据也被分别分流到了两个数据节点 dn1 、 dn2

# dn1 数据节点

[root@db01 ~]# mysql -uroot -p -e "use course; show tables;"

Enter password:

+------------------+

| Tables_in_course |

+------------------+

| temp_1 |

+------------------+

[root@db01 ~]# mysql -uroot -p -e "use course; select * from temp_1;"

Enter password:

+------+------+

| id | name |

+------+------+

| 1 | aa |

+------+------+

# dn2 数据节点

[root@db02 ~]# mysql -uroot -p -e "use course; show tables;"

Enter password:

+------------------+

| Tables_in_course |

+------------------+

| temp_2 |

+------------------+

[root@db02 ~]# mysql -uroot -p -e "use course; select * from temp_2;"

Enter password:

+------+------+

| id | name |

+------+------+

| 2 | bb |

+------+------+

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/461286.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入浅出mysql gtid_深入理解MySQL GTID

GTID的概念何为GITDGTID(global transaction identifier)是全局事务标识符,在MySQL5.6版本中作为一个超级特性被推出。事务标识不仅对于Master(起源)的服务器来说是惟一的,而且在整个复制拓扑架构来说,也是全局唯一的。1.GTID的格式GTID sou…

winform 64位系统中使用

WINFOR编译成X86的 转载于:https://blog.51cto.com/agilitygod/1419939

long 转为string_面试必问 Redis数据结构底层原理String、List篇

点击关注上方“Java大厂面试官”,第一时间送达技术干货。阅读文本大概需要 8 分钟。前言今天来整理学习下Redis有哪些常用数据结构,都是怎么使用的呢?首先看下全局存储结构。全局存储结构基础你们肯定都知道,redis支持的基础数据结…

wpf 3D学习

最近在看一些关于wpf 3d的效果,研究了一些代码特效,现在和广大博友共享一下. 首先用到的是MeshGeometry3D,msdn上介绍:用于生成三维形状的三角形基元。主要有4个依赖属性:NormalsProperty,PositionsPropert…

unicode字符、python乱码问题

http://www.cnblogs.com/BeginMan/archive/2013/08/08/3246619.html#a1 Python常见常用知识点http://blog.csdn.net/tingsking18/article/details/4033645 Unicode和Python的中文处理如何让Python的Unicode字符串支持中文?要想利用Python的Unicode机制处理字符串&…

win10下如何安装vb6.0sp6_Mac如何安装win10系统?Parallels Desktop 15 Mac安装win10系统教程...

Parallels Desktop 15 mac版是mac上非常强大也非常好用的虚拟机软件,最新版本的parallels desktop mac 15针对最新的Windows 10更新和macOS Catalina(10.15)进行了优化。今天分享的内容就是Parallels Desktop 15 mac版如何安装win10系统。PD虚…

字符设备驱动高级篇5——静态映射表的建立过程,动态映射结构体方式操作寄存器

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 补充内容:字符设备驱动基础5——驱动如何操控硬件_天糊土的博客-CSDN博客 一、静态映射表的建立过程 关于“静态映射表的建立”这部分内容,有以下三个关键: &…

python 分布图_python数据分布型图表柱形分布图系列带误差线的柱形图

柱形分布图系列柱形分布图系列使用柱形图的方式展示数据的分布规律;可以借助误差线或散点图;带误差线的柱形图就是使用每个类别的均值作为柱形的高度;再根据每个类别的标准差绘制误差线;缺点:无法显示数据的分布情况&a…

[汇编] 002基础知识-CPU和寄存器

CPU是什么 当然这里的内存不仅仅指电脑上的内存,例如:我的金士顿8G内存,七彩虹1G独显,在这里来说,显卡也是有内存的(寄存器) CPU如何控制其它部件的? 问题:CPU是如何和电脑主机中其它芯片有条不…

字符设备驱动高级篇6——内核提供的读写寄存器接口

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 1、访问寄存器的方式 之前对寄存器的操作,都是先定义指向寄存器的指针,然后再解引用来对寄存器进行操作。这是因为ARM体系中,内存和IO是统一编址的。但是其他体系…

java台球游戏设计原理_Java实现简单台球游戏

Java实现简单台球桌问题,供大家参考,具体内容如下需求:使小球可以在桌面上移动,移动到桌面边缘将被弹回,显示小区的移动素材:小球照片桌球照片程序源代码:package 桌球游戏;import java.awt.*;i…

关于java assertion

大部分转载自参考资料:http://www.ibm.com/developerworks/cn/java/l-javaassertion/index.html assertion(断言)在软件开发中是一种常用的调试方式,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序…

IOC是什么?

2019独角兽企业重金招聘Python工程师标准>>> Inversion of Control,即反转控制,或许说为依赖注入更为合适。IoC就是一种设计模式。 Interface Driven Design接口驱动,接口驱动有很多好处,可以提供不同灵活的子类实现&a…

poj2516Minimum Cost

http://poj.org/problem?id2516 建图的时候 有个地方写错了 卡了半年。。 题意看了N久啊 有N个店主需要K种物品 有M个供应点 每个供应点有K种物品 其实是算K次最小费用 然后叠加 分解开来这题就是求把某种物品从供应点送到店主那里 多个源点-》多个汇点 所以加一个超级源点 和…

myeclipse连接mysql怎么调用_myeclipse连接mysql数据库详细步骤

第一步 打开Database windows-prefenrence-showview-DBbrowser ,此时会在工具底部有个DBbrowser ,选中它,再它所控制的页面的任意位置 右击new---跳转到一个配置driver的页面 (选择连接方式)图一打开myeclipse然后点击window窗口 点击Open Perspective…

虚拟内存管理

MMU 现代操作系统普遍采用虚拟内存管理(Virtual Memory Management)机制,这需要处理器中的MMU(Memory Management Unit,内存管理单元)提供支持,本节简要介绍MMU的作用。 首先引入两个概念&…

mysql重新用户设置密码_mysql用户密码如何重新设置?

mysql用户密码重新设置停掉MySQL服务:sudo service mysql stop以上命令适用于Ubuntu和Debian。CentOS、Fedora和RHEL下使用mysqld替换mysql。以安全模式启动mysql:sudo mysqld_safe --skip-grant-tables --skip-networking &这样我们就可以直接用roo…

第三章 门电路

1 半导体二极管开关特性 1 二极管的特性可以近似的用3.2.1的PN结方程和图3.2.2伏安特性曲线描述 如下图 二极管近似伏安特性和对应的等效电路 1 a电路表示vcc和r都很小时候二极管正向导通压降和正向电阻都不能忽视 2 b电路表示二极管正向导通电压不可以忽视,但是二…

mysql查询数据库日期_mysql如何查询日期与时间

前言:在项目开发中,一些业务表字段经常使用日期和时间类型,而且后续还会牵涉到这类字段的查询。关于日期及时间的查询等各类需求也很多,本篇文章简单讲讲日期及时间字段的规范化查询方法。1.日期和时间类型概览MySQL支持的日期和时…

设备驱动框架3——使用gpiolib完成LED驱动

以下内容源于朱有鹏嵌入式课程的学习整理,如有侵权请告知删除。 一、前言 在实际情况中,很多硬件都要用到GPIO,因此GPIO会复用;如果同一个GPIO被2个驱动同时控制就会出现bug;因此内核提供了gpiolib来统一管理系统中所有…