Mycat概述及基本使用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Mycat概述及基本使用

概述

Mycat是数据库中间件。官网:http://www.mycat.io/

中间件

是一类连接软件组件和应用的计算机软件,以便于软件各部件之间的沟通。

数据库中间件

连接Java等应用程序和数据库。

为什么要用Mycat

  • Java与数据库紧耦合。
  • 高访问量高并发对数据库的压力。
  • 读写请求数据不一致。

Mycat作用

读写分离

001.Mycat_读写分离.jpg

数据分片

  • 垂直拆分(分库)
  • 水平拆分(分表)
  • 垂直+水平拆分(分库分表)

002.Mycat_数据分片.jpg

多数据源整合

Mycat支持多数据源

003.Mycat_多数据源整合.jpg

Mycat实现原理

Mycat的原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的SQL语句,首先对SQL语句做了一些特定的分析,比如:分片分析、路由分析、读写分离分析、缓存分析等,然后将此SQL发往后端的真实数据库,并将返回的结果做适当的处理,最终在返回给用户。

这种方式把数据库的分布式从代码中解耦出来,程序员察觉不出来后台使用的是Mycat还是MySQL

004.Mycat_原理.jpg

安装启动

安装

下载地址:http://dl.mycat.org.cn/。选择版本进行下载即可。

本文使用的是1.6.7.1版本,下载地址:http://dl.mycat.org.cn/1.6.7.1/Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz

解压即可使用

配置文件

  • schema.xml:定义逻辑库、表、分片节点等内容。
  • rule.xml:定义分片规则。
  • server.xml:定义用户以及系统相关变量,如端口等。

启动

  1. 修改配置文件server.xml
    修改用户信息,与MySQL区分,如下:
<username="mycat"defaultAccount="true"><propertyname="password">123456</property><propertyname="schemas">TESTDB</property></user>
  1. 修改配置文件schema.xml
    删除<schema>标签的表信息,<dataNode>标签只保留一个,<writeHost><readHost>只留一对

<?xmlversion="1.0"?><!DOCTYPE mycat:schema SYSTEM "schema.dtd"><mycat:schemaxmlns:mycat="http://io.mycat/"><schemaname="TESTDB"checkSQLschema="false"sqlMaxLimit="100"dataNode="dn1"></schema><dataNodename="dn1"dataHost="host1"database="testdb"/><dataHostname="host1"maxCon="1000"minCon="10"balance="0"writeType="0"dbType="mysql"dbDriver="native"switchType="1"slaveThreshold="100"><heartbeat>select user()</heartbeat><!-- can have multi write hosts --><writeHosthost="hostM1"url="192.168.110.145:3306"user="root"password="123456"><!-- can have multi read hosts --><readHosthost="hostS1"url="192.168.110.145:3306"user="root"password="123456"/></writeHost></dataHost></mycat:schema>
  1. 验证数据库访问情况
    Mycat作为数据库中间件要和数据库部署在不同机器上,所以要验证远程访问情况。
mysql -uroot -p123456 -h 192.168.110.145 -P 3306

#如远程访问报错,请建对应用户

grant all privileges on *.* to root@'缺少的host' identified by '123456';
  1. 启动程序
  • 控制台启动: mycat/bin 目录下执行./mycat console
  • 后台启动: mycat/bin 目录下执行./mycat start

登录

  1. 登录后台管理窗口
    此登录方式用于管理维护 Mycat
mysql -umycat -p123456 -P 9066 -h 192.168.110.145
  1. 常用命令如下:
# 查看数据库
show database


# show 帮助
show @@help
  1. 登录数据窗口
    此登录方式用于通过 Mycat 查询数据,我们选择这种方式访问Mycat
mysql -umycat -p123456 -P 8066 -h 192.168.110.145


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
存储 Oracle 前端开发
MyCat-简介-MyCat 的使用场合及下载 | 学习笔记
快速学习 MyCat-简介-MyCat 的使用场合及下载
MyCat-简介-MyCat 的使用场合及下载 | 学习笔记
|
4月前
|
SQL 中间件 关系型数据库
MyCAT数据库中间件的架构与使用方法
MyCAT数据库中间件的架构与使用方法
|
XML 负载均衡 关系型数据库
Mycat中间件配置初探与入门操作
Mycat中间件配置初探与入门操作
103 10
|
存储 缓存 负载均衡
MyCat是干什么的?具体如何使用?底层原理是什么?
MyCat是干什么的?具体如何使用?底层原理是什么?
360 0
|
Java 关系型数据库 MySQL
MyCat:第五章:快速入门
MyCat:第五章:快速入门
217 0
MyCat:第五章:快速入门
|
缓存 负载均衡 监控
MyCat-案例概述 | 学习笔记
快速学习 MyCat-案例概述
MyCat-案例概述 | 学习笔记
|
存储 NoSQL 安全
MyCat-简介-MyCat 引入 | 学习笔记
快速学习 MyCat-简介-MyCat 引入
MyCat-简介-MyCat 引入 | 学习笔记
|
SQL 存储 缓存
MyCat-入门-原理介绍 | 学习笔记
快速学习 MyCat-入门-原理介绍
MyCat-入门-原理介绍 | 学习笔记
|
存储 SQL NoSQL
MyCat 的基本介绍及安装
MyCat 的基本介绍及安装1、前置知识 1、分布式系统 ​ 分布式系统是指其组件分布在网络上,组件之间通过传递消息进行通信和动作协调的系统。它的核心理念是让多台服务器协同工作,完成单台服务器无法处理的任务,尤其是高并发或者大数据量的额任务。它的特点是: ​ **透明性:**分布式系统对于用户是透明的,一个分布式系统在用户面前的表现就像一个传统的单处理机分时系统,可用用户不必了解其内部结构就能使用; ​ **扩展性:**分布式系统的最大特点是可扩展性,它能够根据需求的增加而扩展,可以通过横向扩展使集群的整体性能得到线性提升,也可以通过纵向扩展单台服务器的性能使服务器集群的性能得到提升;
250 0
MyCat 的基本介绍及安装
|
存储 Java 中间件
MyCat-入门-环境搭建-MyCat 安装 | 学习笔记
快速学习 MyCat-入门-环境搭建-MyCat 安装
MyCat-入门-环境搭建-MyCat 安装 | 学习笔记

相关实验场景

更多