前言
2022/8/26 8:00
暑假持续学习ing
推荐
Mycat2
资源下载
前言
版本
Mycat2.0
MySQL8.0
为什么学习Mycat2
- 常见数据库瓶颈问题:
-数据库数据量大,查询效率低
-分布式数据库架构复杂对接困难
-高访问高并发对数据库压力山大 - 解决方案:分布式数据库中间件Mycat2
课程介绍
基础(入门):
Mycat核心概念、底层原理、应用场景明确
Mycat是什么、有什么用、怎么用
核心(应用):
手把手从零开始搭建Mycat2做好实战的准备
实战(高级):
解决真实系统难题:实现读写分离、分库分表
数据库分布式轻松搞定
新特性(进阶):
了解新特性、学习MycatUI工具实现整体
统筹操作提升Mycat2使用效率
Mycat2与老版本区别
Mycat2功能更强大,使用更简单!
第一章 入门概述
1.1 是什么
Mycat是数据库中间件
1、数据库中间件
中间件:是一类连接软件和应用的计算机软件,以便软件各部件之间的沟通。
例子:Tomcat, web中间件。
数据库中间件:连接java应用的应用程序和数据库。
2、为什么要用Mycat?
1、java与数据库紧耦合
2、高访问量高并发对数据库的压力
3、读写请求数据不一致
3、数据库中间件对比
① Cobar 属于阿里B2B事业群,始于2008年,在阿里服役3年多,接管3000+个MySQL数据库的schema,集群日处理在线SQL请求50亿次以上。由于Cobar发起人的离职,Cobar停止维护。
② Mycat 是开源社区在阿里cobar基础上进行二次开发,解决了cobar存在的问题,并且加入了许多新的功能在其中。青出于蓝而胜于蓝。
③ OneProxy 基于MySQL官方的proxy思想利用c语言进行开发的,OneProxy是一款商业 收费 的中间件。舍弃了一些功能,专注在性能和稳定性上 。
④ kingshard 由小团队用go语言开发,还需要发展,需要不断完善。
⑤ Vitess 是Youtube生产在使用,架构很复杂。不支持MySQL原生协议,使用 需要大量改造成本。
⑥ Atlas 是360团队基于mysql proxy改写,功能还需完善,高并发下不稳定。
⑦ MaxScale 是mariadb(MySQL原作者维护的一个版本) 研发的中间件
⑧ MySQLRoute 是MySQL官方Oracle公司发布的中间件
4、Mycat的官网
1.2 干什么
1、读写分离
2、数据分片
垂直拆分(分库)、 水平拆分(分表)、 垂直+水平拆分(分库分表)
3、多数据源整合
1.3 原理
Mycat 的原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的 SQL 语句,首先对 SQL语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此 SQL 发往后端的真实数据库, 并将返回的结果做适当的处理,最终再返回给用户。
这种方式把数据库的分布式从代码中解耦出来,程序员察觉不出来后台使用 Mycat 还是MySQL。
1.4 Mycat1.x与Mycat2功能对比
1、1.x与2.0功能对比图
2、映射模型区别
第二章 安装启动
Linux下安装几种方法 1、rpm万式 .rpm安装包,按顺序安装 2、yum方式 需要连网 3、解压后既可使用 4、解压后编译安装
2.1 安装
准备工作
下载地址:https://github.com/MyCATApache
下载版本:Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
下载地址:http://dl.mycat.org.cn/1.6-RELEASE/
1、下载安装包
下载对应的tar安装包,以及对应的jar包
···tar (zip)包:
http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.20.zip
···jar 包
http://dl.mycat.org.cn/2.0/1.21-release/ (下载最新的jar包)
下载所需的mycat2的fat·jar 一般大小为100mb 的一个 jar 文件
把这个jar放进解压的tar中的mycat\lib文件夹下
2、解压后即可使用
把整合好的文件夹拷贝到linux下 /usr/local
3、修改文件夹及以下文件的权限
修改为最高权限,否则运行启动命令时,会因权限不足而报错
chmod 777 mycat wrapper-linux*