Mysql主从知识扩展部分1

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

一、有两种方法:mysql

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

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。github

 二、环境搭建;sql

一、须要最少3台服务器,主从各一台,mysql-proxy一台,数据库

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

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

四、具体操做可参考:https://my.oschina.net/barter/blog/93354负载均衡

2、mycat实现MySQL读写分离性能

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

二、主要应用场景:

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

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

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

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

三、环境搭建与配置:

a)安装mycat,须要安装JDK

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

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

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

 3、atlas相关

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

二、主要功能有:

a)实现主从的读写分离
b)从库负载均衡
c)能够设置对IP过滤
d)自动识别SQL语句黑白名单
e)自动分表

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

Atlas官方连接: https://github.com/Qihoo360/Atlas/blob/master/README_ZH.md

Atlas下载连接:https://github.com/Qihoo360/Atlas/releases

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

相关文章
相关标签/搜索