MyCat2的介绍与安装以及基本使用
来源:http://www.tudoupe.com时间:2022-08-03
MyCat2的介绍、安装和基本使用
- MyCat2
- MyCat概述
- 特性
- 核心功能
- 原理
- Mycat2相关概念
- 核心概念
- 配置
- 1.服务配置
- 2.用户配置
- 3.数据源配置
- 4.集群配置
- 5.逻辑库表配置
- MyCat2的基本用途
- 安装MyCat
- 创建用户
- 启动MyCat
- 测试验证
- Mycat2安全设置
- Mycat2 UI监控工具
MyCat2
MyCat概述
Mycat是一个连接Java应用程序和数据库的数据库中间体。
Java程序与数据库紧密相连,对数据库的高可用性和高协调压力是巨大的,因此可以引入数据库中间件MyCat解决方案。
Mycat2的网站:http://www.mycat.org.cn/
Mycat2学习指南:https://www.yuque.com/books/share/6606b3b6-3365-4187-94c4-e51116894695
GitHub地址:https://github.com/MyCATApache/Mycat-Server
特性
核心功能
1.读写分离
Java操作MyCat,Mycat作为数据源访问,根据Java读写请求分配到 MySQL的主机,从而实现读写分离。
2.数据分片
对数据库垂直拆分(分库)、对表水平拆分(分表)、对数据库垂直与表水平拆分(分库分表)
3.多数据源整合
Java操作MyCat,Mycat作为数据源访问,根据不同的操作分开数据源,MyCat访问不同的数据源(MySql,MongoDB)实现多数据源集成。
原理
迈卡特原则中最重要的动词之一是拦截。它截获用户发送的SQL声明,首先,对SQL语句进行一些具体分析:如分区分析、路由分析、读写分离分析、缓存分析等。然后把SQL发送到真正的数据库中,返回的结果将得到适当处理,最终再返回给用户。
Mycat2相关概念
核心概念
具体参考:MyCat2网站文件
1.分库分表
数据库中的表根据某些规则分为多个表,包括数据库实例、物理库和物理表访问路径
共享存储器:通常由功能模板分开,如用户存储器、订单存储器等。
分开表:当数据被表达为MySQL表瓶颈时,分开多个数据库中的多个表数据
2.逻辑库
在数据库代理中的一个数据库,可以包含多个逻辑表
在Mycat中定义的库,逻辑上存在,物理上不在MySQL中
逻辑库可以由多个MySQL数据库组成
3.逻辑表
数据库代理中的表,可以映射由代理连接的数据库中的表(物理表)。
在Mycat中定义的表,逻辑上存在,可以映射真实MySQL数据库的表,无论是对还是更多。
4.物理库
数据库中的存储器,由数据库代理连接,如info_schema onmysql。
MySQL真实数据库
5.物理表
数据库中的表,由数据库代理连接,如info_schema onmysql.TABLES
MySQL真实数据库中的实数据表
6.分库分表中间件
实现库表函数的中间组件,函数等于库表类型数据库中的计算节点
7.共享数据库
使用单独的存储表技术构建的数据库通常在组件上有计算和存储节点,其存储节点通常是一个独立部署的数据库产品,例如MySQL
8.拆分键
也就是说,一个区分键描述了打破逻辑表的数据规则的字段。
按指定的用户ID分开订单表格。用户ID是分开键
9.分区
一般指由计算节点的水平板分隔的数据最小区域。
10.分区键
当使用等价查询时,可以直接绘制分区的分离键
11.系统表
一般指三个数据库中的表:info_schema, performance_schema, andmysql
12.物理分表
物理分表指已经进行数据拆分的,在数据库上面的物理表,是分片表的一个分区
数据在多个物理子表中聚集是逻辑表的总数据
13.物理分库
一般指包含多个物理表的存储库。
参与数据段的实世界数据库
14.单库分表
在同一数据库下将相同的库表分成多个物理子表
15.分库
一般指由多个数据库分开的表。每个数据库是同一个物理库名称的物理表
每个数据库的物理表构成一个完整的物理表
16.水平板
按照一定规则把数据拆分成多个分区的表,在分库分表语境下,它属于逻辑表的一种
17.单表
没有图表,没有数据冗余
不分开数据和不将数据复制到另一个存储器的表
18.广播时间表
每个数据库实例冗余总数据的逻辑表
它使用表数据冗余来在同一数据库实例中进行表和表数据分割,这样可以直接在数据库实例中执行连接操作
它的数据一致性通常通过数据库代理的SQL分布实现,实现也基于群集日志
在系统中定义的字典表需要为每张表提供完整的字典数据
19.集群
一个由多个数据节点组成的逻辑节点。 在Mycat2中,它将多个数据源地址视为一个数据源地址(名称)并提供自动调试、传输,即高可用性、负荷平衡的组件
20.数据源
连接后端数据库的组件。它是数据库代理中连接后端数据库的客户端。
Mycat通过数据源连接到MySQL数据库
21.schema(库)
mycat2中表逻辑、视图等功能的配置
22.物理视图
后端数据库中的视图
23.逻辑视图
mycat2的逻辑视图是处理查询声明的逻辑表的功能
24.前端会话
一般指Mycat服务器,会议指与Mycat连接的客户端
25.后端会话
一般指与数据库连接的Mycat服务器中的客户端
26.后端数据库
在数据库代理中,一个与数据库代理连接的数据库
27.透传SQL
在数据库代理中,从客户端接收到SQL,并直接发送到代理的后端数据库中,无需修改
28.透传结果集
在数据库代理中,指从数据库的后端返回的结果,没有修改,转换,并写入前端对话
29.ER表
狭义指父子表中的子表,它的分片键指向父表的分片键,而且两表的分片算法相同广义指具有相同数据分布的一组表.
订单详细表是订单表的ER表
30.原型库(prototype)
原型库是一个存储数据的实物数据库,在配置数据源时必须指定
配置
详情见:MyCat2官方文件
MyCat配置结构
1.服务配置
目录:mycat/conf/server.json
,通常默认配置即可
角色:MyCat2服务配置
如:server.json
2.用户配置
目录:mycat/conf/users/
配置规则:用户名.user.json
功能:配置与用户有关的信息
如:root.user.json
transactionType:事务类型
转换交易类型的语法实现
语句查询事务类型
隔离:设置初始化交易隔离级别
3.数据源配置
目录:mycat/conf/datasources
配置规则:数据源.datasource.json的名称
功能: 配置Mycat连接数据源信息
如:prototypeDs.datasource.json
4.集群配置
目录:mycat/conf/clusters
配置规则:该组名.cluster.json
功能: 配置集群信息
如:prototype.cluster.json
5.逻辑库表配置
目录:mycat/conf/schemas
配置规则:图书馆.schema.json的名称
功能: 配置逻辑库表, 实现库表
如:mysql.schema.json
MyCat2的基本用途
安装MyCat
下载地址:http://dl.mycat.org.cn/
下载Jar包:
解压mycat
将mycat2-1.21-release-jar-with-dependencies.jar
放进解压的mycatlib
文件夹下
创建用户
创建一个用户连接MyCat MySQL数据库
配置原型数据源:vim mycat/conf/datasources/prototypeDs.datasource.json
修改相应的MySQL数据库配置,修改user、password、url
同样的参数可以用于连接MyCat操作到MySQL。
启动MyCat
Linux环境下
Windos环境下
在Linux环境中使用以报告错误:
修改mycat
、wrapper-linux-x86-64
、wrapper-linux-x86-32
同样的文件权限,否则运行启动命令会造成错误,因为没有足够的权限
重启MyCat
测试验证
一旦MyCat被安装和配置,应用程序和客户端可以连接到MyCat并通过Mycat运行MySQL,从而从数据库中分离程序。
1.9066
MyCat管理窗口的终端,主要用于管理和维护MyCat
2.8066
MyCat数据查询的终端,主要用于通过Mycat查询数据
主库登录:mysql -uroot -h localhost -P3306 -p
Mycat2安全设置
主要使用Mycat安全配置mycat/conf/users
目录下的用户名.user.json
文件进行配置
如:root.user.json
Mycat2 UI监控工具
Mycat2 UI
是官方推出的Mycat2监控工具。使用需安装JDK8的环境,双击jar包运行。
下载列表:http://dl.mycat.org.cn/2.0/ui/
下载地址:http://dl.mycat.org.cn/2.0/ui/assistant-1.22-release-jar-with-dependencies-2022-5-26.jar
下载后双击assistant-1.22-release-jar-with-dependencies-2022-5-26.jar
启动, 然后输入MyCat2相关信息连接.
相应的配置和查询可以在管理接口中直接执行
添加监控
相关新闻
- 2022-08-04 WPF的由来
- 2022-08-04 Win11勒索软件防护怎么打开?Win11安
- 2022-08-04 Windows系统jdk的配置
- 2022-08-04 Windows10 OneNote怎么重新登录?如何重
- 2022-08-04 超好用的 Windows 效率工具推荐
- 2022-08-04 Windows如何在CMD或PowerShell中配置代理
- 2022-08-04 powershell和cmd对比
- 2022-08-04 【QT】Windows下QT下载安装
- 2022-08-04 windows下 C++ 实现类属性的get和set方
- 2022-08-04 Win11快速助手在哪里?Win11打开快速
|
|
|
|
|
|
|
|
|
|