MYCAT 的主要作用
分布式数据库系统中间层
MYCAT 介绍
MYCAT 的前世今生
学习目的
掌握在数据库负载增大时的处理方法
理解 MYCAT 的基础概念
掌握 MYCAT 的基础配置和监控方法
Linux安装MyCat
MyCat应用场景
需要读写分离的场景
需要分库分表的场景
多租户场景
数据统计系统
HBASE的一种替代方案
同样方式查询多种数据库的场景
MyCat的主要作用
实现数据库垂直拆分
数据库水平拆分
MyCat主要作用
实现数据库的读写分离
读负载均衡,支持后台MySQL的高可用。
MyCat主要作用
分布式数据库系统中间层
学习目的
MyCat 逻辑表
MyCat 逻辑库
数据库水平拆分
数据库垂直拆分
数据库的读写分离
课程学习目的
逻辑库、逻辑表
垂直拆分结构
mycat是在前端应用和数据库中间层工作,能连接各种非关系型数据库,还能屏蔽后台的逻辑修改。
mycat 实现读写分离。
datanode 物理数据库的名字
datahost 一组真实的mysql集群
datanode 物理数据库的名字
1.为什么要读写分离,作用是什么?
MyCat的关键特性
支持SQL92标准
支持MySQL集群
支持JDBC连接数据库
支持NoSQL数据库
支持自动故障切换,高可用性
支持读写分离
支持全局表(很小的字典表,用来关联使用)
支持独有的基于ER关系的分片策略(保证子表依赖的父表在同一个分片上)
支持一致性Hash分片(解决分片扩容问题)
多平台支持,部署简单方便
支持全局序列号
配置mycat日志
1、mycat使用Apache log4j项目管理日志
2、conf/log4j2.xml
2.1、配置日志格式
2.2、配置日志级别
管理MYCAT的常用命令
使用MySQL客户端管理MyCAT:
管理端口:<property name="managerPort">9066</property>
mysql -uroot -p123456 -h127.0.0.1 -p9066 (server.xml中配置)
简单的管理mycat的命令
reload @@config; 加载mycat配置文件,但是并不是所有的都能够通过该命令加载的,还需要对mycat进行重启,后期还会有mycat高可用方案。
show @@datanode; 查看mycat中配置的节点详情
show @@datasource; 查看mycat后端的物理数据库的详情
show @@backend; 查看后端的数据库的连接情况
MYCAT读写分离实战
MYCAT读写分离
MYCAT读写分离配置:
Linux环境下:
停止MYCAT: bin/mycat stop
启动MYCAT: bin/mycat start
server.xml文件:定义了所有与MYCAT系统相关的配置
<system><property name=""></property></system>用于定义系统配置,比如系统的端口号,系统的内存大小,超时时间等
<user></user>用于定义连接MyCAT的用户,比如用户名,密码等