本文主要目的是简单地运用mycat实现分库分表、读写分离、准备切换三大功能。本方案采用的是基于代理层的分片,即在应用代码和数据库中间添加一层代理层。
准备工具清单:
1、VMware15
2、centos7镜像
下载地址:https://mirrors.aliyun.com/centos/7/isos/x86_64/
下载软件名称:CentOS-7-x86_64-DVD-1810.iso
3、Notepad++
4、Xshell
5、Navicat for MySQL
6、FileZilla
1、多节点服务器部署
本文中,在vm里部署三台Linux服务器,每个节点的角色
| 主机名 | IP | 内存 | 处理器 | 部署组件 | 角色 | 作用 |
|---|---|---|---|---|---|---|
| M1 | 192.168.0.2 | 1 | 1 | JDK8、MySQL5.7、MyCAT | 主 | 写 |
| M2 | 192.168.0.4 | 1 | 1 | MySQL5.7 | 从 | 读 |
| S1 | 192.168.0.7 | 1 | 1 | MySQL5.7 | 备用(主) | 写 |

服务器列表
1.1、连接网络方式
推荐使用wifi连接(否则在centos里配置ONBOOT=yes无效)
1.2、安装VMware
此处可自行上网搜索
1.3、创建虚拟机
文件==>新建虚拟机==>此处选择我选择典型模式==>勾选“安装程序光盘映像文件(iso)并找到下载的镜像文件”==>客户机操作系统选择“Linux”,版本选择“CentOS 7 64 位”==>填写虚拟机名称,选择位置==>将虚拟机磁盘拆分成多个文件==>下一步==>完成
注意:

网络适配器
将网络适配器的配置改成上图所示的桥接模式,需要为虚拟机分配外网IP。
1.4、安装Centos7
此处可自行上网搜索
1.5、获取每台机器的IP地址
之所以要得知每台机器的ip,是因为需要与其它机器进行数据交互与通信。
首先使用root账号登陆系统,输入命令查看ip地址:
ip addr
发现ens33没有inet属性,那么就无法通过ip连虚拟机。
解决办法:
输入命令查看ens33网卡的配置:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
将最后一行的ONBOOT属性值改为yes。
输入命令重启网络服务:
sudo service network restart
再次使用命令查看ip地址:

结果