MyCAT是一款由阿里Cobar演变而来的用于支持数据库,读写分离、分表分库的分布式中间件。MyCAT支持Oracle、MSSQL、MYSQL、PG、DB2关系型数据库,同时也支持MongoDB等非关系型数据库。
MyCAT原理MyCAT主要是通过对SQL的拦截,然后经过一定规则的分片解析、路由分析、读写分离分析、缓存分析等,然后将SQL发给后端真实的数据块,并将返回的结果做适当处理返回给客户端。
读写分离,简单地说是把对数据库的读和写操作分开,以对应不同的数据库服务器。主数据库提供写操作,从数据库提供读操作,这样能有效地减轻单台数据库的压力。主数据库进行写操作后,数据及时同步到所读的数据库,尽可能保证读、写数据库的数据一致,比如MySQL的主从复制、Oracle的data guard、SQL Server的复制订阅等。
3.安装Mycat安装前准备
三台服务器(关闭防火墙)
mycat安装服务器:192.168.223.140
主数据库:192.168.223.141
从数据库:192.168.223.142
读写分离前提是:实现主从复制,主从复制请参考《主从复制原理》
1、上传安装Mycat-server-1.6.5-release-20180122220033-linux.tar
2、解压安装包tar –zxvf Mycat-server-1.6.5-release-20180122220033-linux.tar
3、配置schema.xml 和server.xml
4、客户端连接端口号: 8066
配置文件介绍:
S1,M2->S2,并且M1与 M2互为主备),正常情况下,M2,S1,S2都参与select语句的负载均衡;
2,所有的readHost与writeHost都参与select语句的负载均衡,也就是说,当系统的写操作压力不大的情况下,所有主机都可以承担负载均衡;
-->
select user()
建议:mycat逻辑库名称和mysql数据库名称一样,否则可能会存在连接不上问题
server.xml配置
123456
seckill
<!--
-->
123456
seckill
true
root用户可以读写,user用户只可以读
验证:root和user的权限,用user用户无法写入,用root用户可读可写就不截图了。
原创文章 124获赞 81访问量 9万+
关注
私信
展开阅读全文
作者:机智的豆子