CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
前言
Mycat关键特性
支持SQL92标准
支持MySQL、Oracle、DB2、SQL Server、PostgreSQL等DB的常见SQL语法
遵守Mysql原生协议,跨语言,跨平台,跨数据库的通用中间件代理。
基于心跳的自动故障切换,支持读写分离,支持MySQL主从,以及galera cluster集群。
支持Galera for MySQL集群,Percona Cluster或者MariaDB cluster
基于Nio实现,有效管理线程,解决高并发问题。
支持数据的多片自动路由与聚合,支持sum,count,max等常用的聚合函数,支持跨库分页。
支持单库内部任意join,支持跨库2表join,甚至基于caltlet的多表join。
支持通过全局表,ER关系的分片策略,实现了高效的多表join查询。
支持多租户方案。
支持分布式事务(弱xa)。
支持XA分布式事务(1.6.5)。
支持全局序列号,解决分布式下的主键生成问题。
分片规则丰富,插件化开发,易于扩展。
强大的web,命令行监控。
支持前端作为MySQL通用代理,后端JDBC方式支持Oracle、DB2、SQL Server 、 mongodb 、巨杉。
支持密码加密
支持服务降级
支持IP白名单
支持SQL黑名单、sql注入攻击拦截
支持prepare预编译指令(1.6)
支持非堆内存(Direct Memory)聚合计算(1.6)
支持PostgreSQL的native协议(1.6)
支持mysql和oracle存储过程,out参数、多结果集返回(1.6)
支持zookeeper协调主从切换、zk序列、配置zk化(1.6)
支持库内分表(1.6)
集群基于ZooKeeper管理,在线升级,扩容,智能优化,大数据处理(2.0开发版)。
集群搭建说明
本次主要采用MyCat做读写分离,因此安装前需要一个已经组建好的MySQL主从同步集群
主:10.0.0.211
从:10.0.0.212
从:10.0.0.213
然后MyCat安装在10.0.0.214上
安装准备
- CentOS8服务器4台\[1核4线程1G]
MySQL服务器3台(并且已经创建好主从同步)
主:10.0.0.211
从:10.0.0.212
从:10.0.0.213
MyCat服务器1台
10.0.0.214
注意:如果对搭建MySQL主从同步有疑问可参考\[MySQL8.0.19开启GTID主从同步CentOS8] - JDK环境
在MyCat服务器上安装JDK环境(需要环境JDK1.7+)
注意:如果对安装JDK环境有疑问可参考[Jdk安装(Linux,MacOS,Windows)] - 下载MyCat
下载地址:http://www.mycat.io
安装
解压到指定文件夹
如:/data0/mycat
配置环境变量
- 打开文件:
vi ~/.bash_profile
- 输入:
# MyCat
export MYCAT_HOME=/data0/mycat
export PATH=$PATH:$MYCAT_HOME/bin
- 保存并退出
:x
- 让配置马上生效
source ~/.bash_profile
MyCat常用命令
# 启动
./mycat start
# 停止
./mycat stop
# 前台运行
./mycat console
# 重启服务
./mycat restart
# 暂停
./mycat pause
# 查看启动状态
./mycat status
