mysql读写分离中间件都有哪些_MySQL读写分离中间件Atlas

本文介绍了MySQL读写分离中间件Atlas的详细信息,包括其功能、优势及安装配置步骤。Atlas是Qihoo 360开发的一款基于MySQL协议的数据中间层项目,支持读写分离、从库负载均衡、IP过滤等功能,并在内部大规模应用。通过一系列配置,可以实现主从切换、客户端IP过滤和密码管理。在生产环境中,可以通过Atlas平滑地管理和调整数据库集群。
摘要由CSDN通过智能技术生成

MySQL读写分离中间件Atlas

一、读写分离工具

1.set global read_only=1;

(这是之前遇到过的一种读写方法 但是用了只读MHA就用不了了)

2.Atlas

Atlas 类似于lb代理

二、Atlas简介

​ Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。

它是在mysql-proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性,对其进行了优化。

360内部使用Atlas运行的mysql业务,每天承载的读写请求数达几十亿条。

下载地址

https://github.com/Qihoo360/Atlas/releases

注意:

1、Atlas只能安装运行在64位的系统上

2、Centos 5.X安装 Atlas-XX.el5.x86_64.rpm,Centos 6.X安装Atlas-XX.el6.x86_64.rpm。

3、后端mysql版本应大于5.1,建议使用Mysql 5.6以上

三、Atlas主要功能

1.读写分离

2.从库负载均衡

3.IP过滤

4.自动分表

5.DBA可平滑上下线DB

6.自动摘除宕机的DB

四、Atlas相对于官方MySQL-Proxy的优势

1.将主流程中所有Lua代码用C重写,Lua仅用于管理接口

2.重写网络模型、线程模型

3.实现了真正意义上的连接池

4.优化了锁机制,性能提高数十倍

五、Atlas安装与配置

官方提供的Atlas有两种:

1)Atlas (普通) : Atlas-2.2.1.el6.x86_64.rpm

2)Atlas (分表) : Atlas-sharding_1.0.1-el6.x86_64.rpm

这里我们只需要下载普通的即可。

安装Atlas

# 1.db04直接拖入下载好的包 rpm下载

[root@db04 ~]# rpm -ivh Atlas-2.2.1.el6.x86_64.rpm

Preparing... ################################# [100%]

Updating / installing...

1:Atlas-2.2.1-1 ################################# [100%]

不需要任何其他的操作 直接rpm

配置Atlas

# 1.进入Atlas工具目录

[root@db04 ~]# cd /usr/local/mysql-proxy/

[root@db04 /usr/local/mysql-proxy]# ll

drwxr-xr-x 2 root root 75 Dec 18 11:38 bin

drwxr-xr-x 2 root root 22 Dec 18 11:43 conf

drwxr-xr-x 3 root root 331 Dec 18 11:38 lib

drwxr-xr-x 2 root root 6 Dec 17 2014 log

# 2.生成密码 (配置文件里需要)

[root@db04 /usr/local/mysql-proxy]# cd bin

[root@db04 /usr/local/mysql-proxy/bin]# ll

-rwxr-xr-x 1 root root 9696 Dec 17 2014 encrypt

-rwxr-xr-x 1 root root 23564 Dec 17 2014 mysql-proxy

-rwxr-xr-x 1 root root 1552 Dec 17 2014 mysql-proxyd

-rw-r--r-- 1 root root 6 Dec 17 2014 VERSION

[root@db04 /usr/local/mysql-proxy/bin]# ./encrypt 123

3yb5jEku5h4=

这就是密码为123的配置密码 密码是什么就写什么 自动生成

# 3.修改配置

[root@db04 ~]# vim /usr/local/mysql-proxy/conf/test.cnf

#管理接口的用户名

admin-username = user

#管理接口的密码

admin-password = pwd

#Atlas监听的管理接口IP和端口

admin-address = 0.0.0.0:2345

#Atlas后端连接的MySQL主库的IP和端口,可设置多项,用逗号分隔

proxy-backend-addresses = 10.0.0.52:3306 【我主库现在是52】

#Atlas后端连接的MySQL从库的IP和端口,@后面的数字代表权重,用来作负载均衡,若省略则默认为1,可设置多项,用逗号分隔

proxy-read-only-backend-addresses = 10.0.0.51:3306,10.0.0.53:3306,10.0.0.54:3306

#用户名与其对应的加密过的MySQL密码,密码使用PREFIX/bin目录下的加密程序encrypt加密,下行的user1和user2为示例,将其替换为你的MySQL的用户名和加密密码!

pwds = rep:3yb5jEku5h4=,mha:O2jBXONX098=

#设置Atlas的运行方式,设为true时为守护进程方式,设为false时为前台方式,一般开发调试时设为false,线上运行时设为true,true后面不能有空格。

daemon = true

#设置Atlas的运行方式,设为true时Atlas会启动两个进程,一个为monitor,一个为worker,monitor在worker意外退出后会自动将其重启,设为false时只有worker,没有monitor,一般开发调试时设为false,线上运行时设为true,true后面不能有空格。

keepalive = true

#工作线程数,对Atlas的性能有很大影响,可根据情况适当设置

event-threads = 8 【一般根据cpu核心数】

#日志级别,分为message、warning、critical、error、debug五个级别

log-level = error

#日志存放的路径

log-path = /usr/local/mysql-proxy/log

#SQL日志的开关,可设置为OFF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值