JavaEE 课程系列
——————————————————————————————————
———
Mycat
尚硅谷 JAVA 研究院
版本:V1.1
一、Mycat 介绍
1、 是什么
1.1、 数据库中间件
前身是阿里的 cobar
2、 干什么的
2.1、 读写分离
2.2、 数据分片
垂直拆分
水平拆分
垂直+水平拆分
1
更多 Java –大数据 –前端 –python 人工智能资料下载,可访问百度:尚硅谷官网
JavaEE 课程系列
——————————————————————————————————
———
2.3、 多数据源整合
3、 原理
3.1、 “拦截”
Mycat 的原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的 SQL 语句,首先对 SQL 语句做了
一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此 SQL 发往后端的真实数据库,
并将返回的结果做适当的处理,最终再返回给用户
2
更多 Java –大数据 –前端 –python 人工智能资料下载,可访问百度:尚硅谷官网
JavaEE 课程系列
——————————————————————————————————
———
这种方式把数据库的分布式从代码中解耦出来,程序员察觉不出来后台使用 mycat 还是 mysql。
二、安装启动
1、 安装解压
解压缩文件拷贝到 linux 下 /usr/local/
2、 配置文件介绍
(1) schema.xml
定义逻辑库,表、分片节点等内容
(2) rule.xml
定义分片规则
(3) server.xml
定义用户以及系统相关变量,如端口等
3
更多 Java –大数据 –前端 –python 人工智能资料下载,可访问百度:尚硅谷官网
JavaEE 课程系列
——————————————————————————————————
———
3、 配置文件修改
(1) 修改配置文件 schema.xml
database-->
select user()
(2) 修改配置文件 server.xml
654321
TESTDB
4
更多 Java –大数据 –前端 –python 人工智能资料下载,可访问百度:尚硅谷官网
JavaEE 课程系列
——————————————————————————————————
———
4、 验证数据库访问情况
通过命令远程访问 mycat 涉及的机器上的 mysql 数据库是否可以正常登陆。
mysql -u 用户名 -p 密码 -h 机器 1IP -P3306
mysql -u 用户名 -p 密码 -h 机器 1IP -P3306
5、 启动程序
(1) 控制台启动 :去 mycat/bin 目录下 mycat console
(2) 后台启动 :去 mycat/bin 目录下 mycat start
6、 启动时问题解决
(1) 问题:域名解析失败
(2) 解决办法
用 vim 修改 /etc/hosts 文件,在 127.0.0.1 后面增加你的机器名
修改后重新启动网络服务
5
更多 Java –大数据 –前端 –python 人工智能资料下载,可访问百度:尚硅谷官网
JavaEE 课程系列
——————————————————————————————————
———
7、 登录
(1) 后台管理窗口
登录命令:
mysql -u 用户名 -p 密码 -P9066 -h 启动 mycat 的机器 IP
操作命令:
show database
show @@help
6
更多 Java –大数据 –前端 –python 人工智能资料下载,可访问百度:尚硅谷官网
JavaEE 课程系列
——————————————————————————————————
———
(2) 数据窗口
登录命令:
mysql -u 用户名 -p 密码 -P8066 -h 启动 mycat 的机器 IP
操作命令:
同 mysql
7
更多 Java –大数据 –前端 –python 人工智能资料下载,可访问百度:尚硅谷官网
JavaEE 课程系列
——————————————————————————————————
———
三、读写分离
1、 配置文件修改
(1) 修改配置文件 schema.xml
select user()
8
更多 Java –大数据 –前端 –python 人工智能资料下载,可访问百度:尚硅谷官网