JavaWeb开发思维导图之——MySQL数据库mycat中间件(30)
一 概述
- 介绍
- mycat安装
- 数据库集群准备
- 主从复制
- 读写分离
- 分库分表
二 内容详情
2.1 介绍
- 一台数据服务器无法满足存储需求,多台数据服务器构成集群
- 但是,为了保证数据一致性、查询效率等,同时解决多台服务器之间通讯、负载均衡等问题
- mycat是一款数据库集群软件,支持常用关系型数据库
- mycat是一个数据库中间件,支持mysql集群
- 可以像mysql一样使用mycat,开发人员几乎感觉不到mycat
2.2 mycat安装
- mycat官网: http://www.mycat.org.cn/
- 通过ssh工具(crt)上传到linux
- 解压并查看
- 为mycat目录授权
- 配置环境变量
- 启动mycat
- 查看端口监听: netstat -ant|grep 8066
- SQLyog连接mycat:默认用户名:root,端口 8066
2.3 数据库集群准备
1-集群模型
- Linux(Mycat+MySQL主服务器)
- Linux(MySQL从服务器)
2-服务器准备
- 克隆虚拟机
- 修改第二个虚拟机网卡,重新生成mac地址
- 修改MySQL配置文件uuid
- 启动相关服务
2.4 主从复制
1-概念
- mysql读写分离,主服务器操作数据,从服务器读取数据
- 配置mysql数据库的主从复制
- 从服务器自动同步主服务器数据,达到数据一致
2-配置
- 主服务器配置
- 从服务器配置
- 测试:在主服务器创建db1数据库,查看从服务器是否自动同步
2.5 读写分离
1-概念
- 写操作只写入主服务器,由于有主从复制,从服务器也会自动同步数据
- 读操作是读取从服务器中的数据
2-配置
- 主服务器server.xml:逻辑数据库配置
- 主服务器schema.xml:逻辑数据库对应主服务器数据库、主服务器配置、从服务器配置
3-操作
- mycat虚拟数据库创建表及添加记录
- 主服务器db1查看添加信息
- 从服务器读取数据
2.6 分库分表
1-概念:将庞大的数据量拆分为不同的数据库和数据表进行存储
2-分类
- 水平拆分
- 垂直拆分