mysql主从进行扩展_Mysql主从知识扩展部分1

一、使用mysql-proxy 快速实现mysql 集群 读写分离

1、有两种方法:

a)程序代码内部实现,对select操作分发到从库,其他到主库,再生产环境中应用比较广泛,比较知名的有DISCUZX2,优点性能好,成本低,缺点是需要开发人员维护。

b)代理实现,用中间件mysql-proxy来实现读写分离。mysql-proxy是Mysql官方开源产品。缺点是有单点故障:为了避免mysql-proxy单点隐患有两种方法,一种方法是mysql-proxy配合keepalived做双机,另一种方法是将mysql-proxy和应用服务安装到同一台服务器上;为了避免mysql-master单点故障可以使用DRBD+heartbear做双机;避免mysql-slave单点故障增加多台mysql-slave即可,因为mysql-proxy会自动屏蔽后端发生故障的mysql-slave。

2、环境搭建;

1、需要最少3台服务器,主从各一台,mysql-proxy一台,

2、在mysql-proxy服务器上安装所需的包并进行配置。

3、需注意要在主从机器/etc/my.cnf中开启log=query.log功能。

4、具体操作可参考:https://my.oschina.net/barter/blog/93354

二、mycat实现MySQL读写分离

1、Mycat是数据库中间件,对数据进行交互和处理,可对数据进行分片处理,所有分片数据库构成一个完整的数据存储库,借助mycat的分表能力,能有效提高数据处理能力和效率。

2、主要应用场景:

a)单纯的读写分离,此时配置最为简单,支持读写分离,主从切换;

b)分表分库,对表进行分库;

c)多租户应用,每个应用一个库,但应用程序只连接Mycat,从而不改造程序本身,实现多租户化;

d)表系统,借助于Mycat的分表能力,处理大规模报表的统计;

3、环境搭建与配置:

a)安装mycat,需要安装JDK

b)配置schema.xml,该表主要用来配置数据库节点,逻辑表等等东西的

c)需要设置防火墙,设置端口。

4、具体操作可参考:http://www.th7.cn/db/mysql/201708/250280.shtml    https://blog.csdn.net/u011325787/article/details/51423424

三、atlas相关

1、atlas是Qihoo 360的相关团队在Mysql官方的 MySQL-Proxy 0.8.2版本的基础上修改的一个中间件。优化了锁机制,提高了性能。

2、主要功能有:

a)实现主从的读写分离

b)从库负载均衡

c)可以设置对IP过滤

d)自动识别SQL语句黑白名单

e)自动分表

3、安装与配置:可参考一下链接,Atlas官网配置的注释写的蛮详细的,都是中文。

https://www.cnblogs.com/alex-note/p/6835965.html

https://github.com/Qihoo360/Atlas/wiki/Atlas%E7%9A%84%E5%AE%89%E8%A3%85

https://www.oschina.net/p/atlas

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值