Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化)
作者:mmseoamin日期:2023-12-19

Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化),第1张

Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化),第2张 

目录

Mycat部署安装_核心配置文件及目录结构

 Mycat部署安装_Mycat安装以及管理命令详解

Mycat高级特性_读写分离概述

Mycat高级特性_搭建读写分离

Mycat高级特性_MySQL双主双从原理


 

Mycat部署安装_核心配置文件及目录结构

Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化),第3张

目录结构

 Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化),第4张

说明:

bin:可执行命令

conf:配置文件

lib:存放jar包

logs:日志信息

tmlogs:临时日志

version.txt:版本信息 

三个配置文件

schema.xml:定义逻辑库,表、分片节点等内容

rule.xml:定义分片规则

server.xml:定义用户以及系统相关变量,如端口等 

实时学习反馈

1.Mycat目录用户名密码在______配置文件中修改。

A rule.xml

B server.xml

C schema.xml

D wrapper.conf

2.Mycat目录中读写分离分库分表技术在_______文件中进行配置。

A rule.xml

B server.xml

C schema.xml

D partition-hash-int.conf 

 Mycat部署安装_Mycat安装以及管理命令详解

Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化),第5张 

下载解压Mycat安装包

MyCAT 有提供编译好的安装包,支持 windows、Linux、Mac、 Solaris 等系统上安装与运行。 

tar -zxvf Mycat-server-1.6.7.1-release-20190627191042-linux.tar -C /usr/loc

 将MyCat配置到环境变量中

vim /etc/profile
#增加如下配置
export MYCAT_HOME=/usr/local/mycat
export PATH=$PATH:$MYCAT_HOME/bin

MyCat常用操作命令

mycat start           #启动MyCat
mycat stop            #停止MyCat
mycat console         #前台运行MyCat带控制台输出
mycat restart         #重启MyCat
mycat pause           #暂停MyCat
mycat status          #查看启动状态

使用MySQL命令进行MyCat的连接

Mycat 提供类似数据库的管理监控方式,可以通过MySQL命令行登录管理端口(9066)执行相应的SQL语句进行管理,也可以通过 JDBC方式进行远程连接管理。

Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化),第6张

管理端口 

9066用于查看MyCat的运行状态

mysql -uroot -p123456 -h 192.168.1.125 -P9066 -DTESTDB

参数:

-h:后面是主机。 即当前Mycat安装的主机IP地址。

-u:Mycat server.xml中配置逻辑库的用户。

-p:Mycat server.xml中配置逻辑库的密码。

-P:后面是管理端口号。注意P是大写。

-d:Mycat server.xml中配置逻辑库。

数据端口 

8066用于进行数据的CRUD操作

mysql -uroot -p123456 -h 192.168.1.125 -P8066 -DTESTDB

MyCat的连接用户名相关信息在配置文件 /usr/local/mycat/conf/server.xml 中查看编辑


        123456
        TESTDB

 Show命令

-- 查看所有的可用命令

show @@help;  

-- 查看所有的逻辑数据库

show @@database;

-- 查看所有的数据节点

show @@datanode;

-- 查看所有的数据源

show @@datasource;

实时学习反馈

1.Mycat技术中使用___命令重启服务。

A start

B stop

C restart

D console 

2. Mycat技术中如何查看所有的逻辑数据库____。

A show @@help

B show @@database

C show @@datanode

D show @@datasource

Mycat高级特性_读写分离概述

Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化),第7张

什么是读写分离 

读写分离,基本的原理是让主数据库处理事务性增、改、删操作, 而从数据库处理查询操作。

为什么使用读写分离 

从集中到分布,最基本的一个需求不是数据存储的瓶颈,而是在于计算的瓶颈,即 SQL 查询的瓶颈,我们知道,正常情况下,Insert SQL 就是几十个毫秒的时间内写入完成,而系 统中的大多数 Select SQL 则要几秒到几分钟才能有结果,很多复杂的 SQL,其消耗服器 CPU 的能力超强,不亚于死循环的威力。

读写分离方案

MyCat的读写分离是建立在MySQL主从复制基础之上实现的,所以必须先搭建MySQL的主从复制。数据库读写分离对于⼤型系统或者 访问量很⾼的互联网应用来说,是必不可少的⼀个重要功能。

Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化),第8张 

注意: Mycat实现的读写分离和自动切换机制,需要MySQL的主从复制机制配合。 

Mysql 主从复制的常用拓扑结构 

一主一从

Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化),第9张

注意: 最基础的复制结构,用来分担之前单台数据库服务器的压力, 可以进行读写分离。 

一主多从 

Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化),第10张

注意: 一台 Slave 承受不住读请求压力时,可以添加多台,进行负载均衡,分散读压力。 

双主复制 

Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化),第11张

注意: 双主结构就是用来解决这个问题的,互相将对方作为自己的 Master,自己作为对方的 Slave 来进行复制,但对外来讲,还是一个主和一个从。 

级联复制 

Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化),第12张

注意: 级联结构就是通过减少直接从属于 Master 的 Slave 数量,减轻 Master 的压力,分散复制请求,从而提高整体的复制效率。 

双主级联 

Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化),第13张

注意: Mysql 的复制结构有很多种方式,复制的最大问题是数据延时,选择复制结构时需要根据自己的具体情况,并评估好目标结构的延时对系统的影响。 

实时学习反馈

1.Mycat读写分离主要解决_____问题。

A 兼容性

B 安全性

C 高性能

D 高可用

2. Mycat读写分离技术基于____技术实现。

A MySQL分库分表

B MySQL高可用

C MySQL主从复制

D MySQL高性能 

Mycat高级特性_搭建读写分离

Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化),第14张

修改配置文件schema.xml 


参数:

schema:逻辑库 name :逻辑库名称

sqlMaxLimit:一次取多少条数据

table:逻辑表

dataNode:数据节点 对应 datanode标签

rule:分片规则 对应 rule.xml

primaryKey: 分片主键 可缓存

分片配置

 参数:

name:分片名字

dataHost:分片主机

database:分片数据库

配置读写分离 


    

参数:

dataHost:数据主机(节点主机)

dbType:数据库驱动native:MySQL JDBC: oracle SQLServer

switchType: 是否主动读 1

Balance参数设置:

1、 balance=“0”, 所有读操作都发送到当前可⽤的writeHost上。

2、 balance=“1”,所有读操作都随机的发送到readHost。

3、 balance=“2”,所有读操作都随机的在writeHost、readhost上分发

WriteType参数设置:

1、 writeType=“0”, 所有写操作都发送到可⽤的writeHost上。

2、 writeType=“1”,所有写操作都随机的发送到readHost。

3、 writeType=“2”,所有写操作都随机的在writeHost、readhost分上发。

witchType参数设置:

1、 switchType="1", 主从自动切换

2、 switchType="2",从机延时超过slaveThreshold值时切换为主读

启动Mycat 

mycat restart

Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化),第15张

配置文件 




    
 
 
    
 
 
    
 
   select user()
   
   
   
 
 

验证读写分离

在写主机插入

insert into dog values(1,@@hostname);

注意: @@代表系统变量。

在mycat查询

select * from dog;

 

Mycat高级特性_MySQL双主双从原理

Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化),第16张

一主一从 

Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化),第17张

注意: 是最基础的复制结构,用来分担之前单台数据库服务器的压力,可以进行读写分离。 

 一主多从

Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化),第18张

问题: 一台 Slave 承受不住读请求压力时,可以添加多台,进行负载均衡,分散读压力。 

如何解决 

Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化),第19张

介绍: 互相将对方作为自己的 Master,自己作为对方的 Slave 来进行复制,但对外来讲,还是一个主和一个从。 

实时学习反馈

1.MySQL一主一从架构会出现___问题。

A 性能性

B 超时性

C 兼容性

D 安全性 

2.MySQL双主双从架构解决___问题。

A 服务性能

B 单点故障问题

C 兼容性

D 安全性