当前位置: 首页 > news >正文

一、Mycat2介绍与下载安装

第一章 入门概述
1.1 是什么
Mycat 是数据库中间件。
1、数据库中间件
中间件:是一类连接软件组件和应用的计算机软件,以便于软件各部件之间的沟
通。
例子:Tomcat,web中间件。
数据库中间件:连接java应用程序和数据库
2、为什么要用Mycat?
1 Java与数据库紧耦合。
2 高访问量高并发对数据库的压力。
3 读写请求数据不一致
3、数据库中间件对比
在这里插入图片描述
1.Cobar属于阿里B2B事业群,始于2008年,在阿里服役3年多,接管3000+个MySQL数
据库的schema,集群日处理在线SQL请求50亿次以上。由于Cobar发起人的离职,
Cobar停止维护。
2. Mycat是开源社区在阿里cobar基础上进行二次开发,解决了cobar存在的问题,并
且加入了许多新的功能在其中。青出于蓝而胜于蓝。
3. OneProxy基于MySQL官方的proxy思想利用c进行开发的,OneProxy是一款商业收费
的中间件。舍弃了一些功能,专注在性能和稳定性上。
4. kingshard由小团队用go语言开发,还需要发展,需要不断完善。
5. Vitess是Youtube生产在使用,架构很复杂。不支持MySQL原生协议,使用需要大量
改造成本。
6. Atlas是360团队基于mysql proxy改写,功能还需完善,高并发下不稳定。
7. MaxScale是mariadb(MySQL原作者维护的一个版本) 研发的中间件
8.MySQLRoute是MySQL官方Oracle公司发布的中间件

Mycat的官网
http://www.mycat.org.cn/
1.2 干什么
1、读写分离
在这里插入图片描述
2、数据分片
垂直拆分(分库)、水平拆分(分表)、垂直+水平拆分(分库分表)
在这里插入图片描述
3、多数据源整合
在这里插入图片描述
1.3 原理
Mycat 的原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的 SQL 语
句,首先对 SQL 语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、
缓存分析等,然后将此 SQL 发往后端的真实数据库,并将返回的结果做适当的处理,
最终再返回给用户。
在这里插入图片描述
这种方式把数据库的分布式从代码中解耦出来,程序员察觉不出来后台使用
Mycat 还是 MySQL。

第二章 安装启动
2.1 安装
1、下载安装包
下载对应的 tar 安装包,以及对应的 jar 包
tar(zip)包 :
http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template1.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、修改文件夹及以下文件的权限
修改成最高权限,否则运行启动命令时,会因权限不足而报错
在这里插入图片描述
2.2 启动
1、在mycat连接的mysql数据库里添加用户
创建用户 ,用户名为mycat,密码为123456,赋权限,如下:

CREATE USER 'mycat'@'%' IDENTIFIED BY '123456';
--必须要赋的权限mysql8才有的
GRANT XA_RECOVER_ADMIN ON *.* TO 'root'@'%';
---视情况赋权限
GRANT ALL PRIVILEGES ON *.* TO 'mycat'@'%' ;
flush privileges;

2、修改mycat的prototype的配置
启动mycat之前需要确认prototype数据源所对应的mysql数据库配置,修改对应的
user(用户),password(密码),url中的ip

…
vim conf/datasources/prototypeDs.datasource.json
{
"dbType":"mysql",
"idleTimeout":60000,
"initSqls":[],
"initSqlsGetConnection":true,
"instanceType":"WRITE",
"maxCon":1000,
"maxConnectTimeout":3000,
"maxRetryCount":5,
"minCon":1,
"name":"prototypeDs",
"password":"123123",
"type":"JDBC",
"url":"jdbc:mysql://localhost:3306/mydb1?useUnicode=true&serverTimezone=Asi
a/Shanghai&characterEncoding=UTF-8",
"user":"root",
"weight":0
}

3、验证数据库访问情况
Mycat 作为数据库中间件要和数据库部署在不同机器上,所以要验证远程访问
情况。

mysql -uroot -p123123 -h 192.168.140.100 -P 3306
mysql -uroot -p123123 -h 192.168.140.99 -P 3306
#如远程访问报错,请建对应用户
grant all privileges on *.* to root@'缺少的host' identified by '123123';

4、启动mycat
linux启动命令

cd mycat/bin
./mycat start
./mycat status
./mycat start 启动
./mycat stop 停止
./mycat console 前台运行
./mycat install 添加到系统自动启动(暂未实现)
./mycat remove 取消随系统自动启动(暂未实现)
./mycat restart 重启服务
./mycat pause 暂停
./mycat status 查看启动状态…

2.3 登录
1、登录后台管理窗口
此登录方式用于管理维护 Mycat

mysql -umycat -p123456 -P 9066
#常用命令如下:
show database
`![在这里插入图片描述](https://img-blog.csdnimg.cn/9302e257407349ccbee596cdc48831dc.png)
``
help;
![在这里插入图片描述](https://img-blog.csdnimg.cn/31f5601b55fe400eb4398a4d0bed32b8.png)
2、登录数据窗口
此登录方式用于通过 Mycat 查询数据,我们选择这种方式访问 Mycat```java
mysql -umycat -p123456 -P 8066

相关文章:

一、Mycat2介绍与下载安装

第一章 入门概述 1.1 是什么 Mycat 是数据库中间件。 1、数据库中间件 中间件:是一类连接软件组件和应用的计算机软件,以便于软件各部件之间的沟 通。 例子:Tomcat,web中间件。 数据库中间件:连接java应用程序和数据库…...

链表的介绍

链表是一种常用的数据结构,它可以动态地添加、删除、查找和遍历元素。链表由多个节点组成,每个节点包括一个数据项和一个指向下一个节点的指针。这种数据结构可以高效地插入和删除元素,但相对于数组来说,查找元素的效率较低。 插…...

深度剖析:数据服务API的安全性与隐私保护

随着互联网技术的飞速发展,数据服务API已经成为了企业和个人获取、处理和分析数据的重要工具。然而,数据服务API的安全问题也日益凸显,尤其是在用户隐私保护方面。本文将深入剖析数据服务API的安全性与隐私保护问题,并结合产品FDL…...

MediaPlayer音频与视频的播放介绍

作者:向阳逐梦 Android多媒体中的——MediaPlayer,我们可以通过这个API来播放音频和视频该类是Androd多媒体框架中的一个重要组件,通过该类,我们可以以最小的步骤来获取,解码和播放音视频。 它支持三种不同的媒体来源…...

【Terraform学习】Terraform模块基础操作(Terraform模块)

本站以分享各种运维经验和运维所需要的技能为主 《python》:python零基础入门学习 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8》暂未更新 《docker学习》暂未更新 《ceph学习》ceph日常问题解…...

改进的KMeans 点云聚类算法 根据体元中的点数量计算点密度,并获取前K个点密度最大的体元作为初始聚类中心(附 matlab 代码)

KMeans函数的主要逻辑如下: 使用InitCenter函数初始化聚类中心,该函数根据体元密度选择初始聚类中心。该函数的输入参数包括数据(data)、聚类中心数量(centerNum)和体元数量(voxelNum)。根据点云的取值范围计算包围盒的体积(V)和体元边长(d)。根据体元边长将点云数…...

php user.ini详解

0x00 前言 本篇主要是讲解分析一下user.ini相关的内容。因为这个知识点涉及到文件上传的绕过 0x01 正文 .user.ini 文件是PHP的配置文件,用于自定义PHP的配置选项。该文件通常位于PHP安装目录的根目录下,或者在特定的网站目录下。 .user.ini 文件是一…...

用 PHP 和 JavaScript 显示地球卫星照片

向日葵 8 号气象卫星是日本宇宙航空研究开发机构设计制造的向日葵系列卫星之一,重约 3500 公斤,设计寿命 15 年以上。该卫星于 2014 年 10 月 7 日由 H2A 火箭搭载发射成功,主要用于监测暴雨云团、台风动向以及持续喷发活动的火山等防灾领域。…...

Ubantu安装mongodb,开启远程访问和认证

最近因为项目原因需要在阿里云服务器上部署MongoDB,操作系统为Ubuntu,网上查阅了一些资料,特此记录一下步骤。 1.运行apt-get install mongodb命令安装MongoDB服务(如果提示找不到该package,说明apt-get的资源库版本比…...

高手速成|数据库脚本生成工具

高手速成|数据库脚本生成工具 文章目录 高手速成|数据库脚本生成工具前言1、软件的安装及使用2、建立新工程3、创建Conceptual Data Model(概念数据模型)4、将E-R图转化为其他数据库模型5、导出DBMS代码(Sql执行脚本)6、执行sql脚…...

振动国标2009GB/T 19873.2-2009/ISO 13373-2:2005笔记

国标原文 1.时域,要求,采样率大于最高频率10倍(最低频率?) 2.频域,要求采样率大于最高频率2倍。 3.3.2 积分和微分,二次积分。 3.3.3 均方根。 3.4 滤波 4.1 奈奎斯特图、极坐标图、坎贝尔…...

SpringBoot中自定义starter

SpringBoot自动装配原理: EnableAutoConfiguration注解开启自动装配功能,该注解通常放在应用的主类上。spring.factories文件位于META-INF目录下的配置文件中定义各个自动装配类的全限定名 当SpringBoot启动时,会加载classpath下所有的spri…...

git-tf clone 路径有空格处理方案

git-tf clone 路径存在空格情况下,运行命令报错; 需要对路径进行双引号处理...

IP 地址与域名是一对多的关系。一个 IP 地址可以对应多个域名,但一个域名只对应一个 IP地址。这句话如何理解?

假设你有一个大型公司,拥有许多服务器和网站。每台服务器都有自己的IP地址,就像每台手机有一个电话号码一样。然而,你可能不想让客户记住一堆复杂的数字来访问你的网站。这时候,你可以为每个网站分配一个易记的域名,比…...

DNS解析分类

DNS(域名系统)解析是将域名转换为对应的IP地址的过程。根据不同的功能和角色,DNS解析可以分为以下几种分类: 递归解析(Recursive Resolution):递归解析是指DNS客户端向本地DNS服务器&#xff08…...

部署你自己的导航站-dashy

现在每天要访问的网页都太多了,尽管chrome非常好用,有强大的标签系统。但是总觉的少了点什么。 今天我就来分享一个开源的导航网站系统 dashy。这是一个国外的大佬的开源项目 github地址如下:https://github.com/Lissy93/dashy 来简单说一下…...

运用谱分解定理反求实对称矩阵

文章目录 谱分解定理定理的运用 谱分解定理 设三阶实对称矩阵 A A A,若矩阵 A A A 的特征值为 λ 1 , λ 2 , λ 3 \lambda_1,\lambda_2,\lambda_3 λ1​,λ2​,λ3​,对应的单位化特征向量分别为 α 1 , α 2 , α 3 \alpha_1,\alpha_2,\alpha_3 α…...

Qt——Qt工作原理:事件驱动、信号与槽机制

Qt工作原理:事件驱动、信号与槽机制 Qt作为一个现代的GUI(图形用户界面)框架,采用了事件驱动的编程范式,并引入了信号与槽机制,以实现高度交互和松耦合的程序设计。下面详细解释了相关概念,以及…...

find ./* -type d -empty -exec touch {}/.gitkeep \;

这是一个 Linux 下的 find 命令,用于在所有空目录中创建 .gitkeep 文件。让我们来分解一下这个命令做了什么:- find ./* : 在当前目录及其子目录中查找。 -type d : 只查找目录类型的文件。 -empty : 只找出那些空的目…...

计算机行业前景展望

计算机行业的前景展望是非常广阔的。随着技术的快速发展和应用领域的不断拓展,计算机行业将继续扮演着重要的角色。以下是一些计算机行业前景的关键方面: 人工智能(AI)和机器学习(ML):AI和ML技术…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...

MySQL JOIN 表过多的优化思路

当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障

关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...