使用Atlas实现MySQL读写分离

1、MySQL所在机器

  192.168.29.128(Master)

  192.168.29.129(Slave)

  配置好主从同步,参考 http://www.cnblogs.com/luxh/p/4088420.html

2、下载安装Atlas

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

  注意操作系统的版本,安装相应版本的Atlas。我下载的是Atlas-2.2.el6.x86_64.rpm

  这里直接安装到192.168.29.130这台机器上。

rpm -i Atlas-2.2.el6.x86_64.rpm 

3、配置Atlas

  Atlas的安装目录是 /usr/local/mysql-proxy,进入安装目录下conf目录,编辑test.cnf文件,很多选项用默认值即可。

  1)主库的ip和端口,可设置多项,用逗号分隔

proxy-backend-addresses = 192.168.29.128:3306

  2)(非必备,根据实际情况配置)从库的IP和端口,@后面的数字代表权重,用来作负载均衡,若省略则默认为1,可设置多项,用逗号分隔。如果想让主库也能分担读请求的话,只需要将主库信息加入到下面的配置项中。

proxy-read-only-backend-addresses = 192.168.29.129:3306

  3)(必备,根据实际情况配置)用户名与其对应的加密过的MySQL密码,密码使用安装路径 /bin目录下的加密程序encrypt加密,用户名与密码之间用冒号分隔。主从数据库上需要先创建该用户并设置密码(用户名和密码在主从数据库上要一致)。

  加密密码:

./encrypt 123456

  配置密码

pwds = root:/iZxz+0GRoA=

  4)(必备,默认值即可)Atlas的运行方式,设为true时为守护进程方式,设为false时为前台方式,一般开发调试时设为false,线上运行时设为true

daemon = true

  5)(必备,默认值即可)Atlas监听的工作接口IP和端口,proxy-address = 0.0.0.0:1234代表客户端应该使用1234这个端口连接Atlas来发送SQL请求。

proxy-address = 0.0.0.0:1234

  6)(必备,默认值即可)Atlas监听的管理接口IP和端口,admin-address = 0.0.0.0:2345代表DBA应该使用2345这个端口连接Atlas来执行运维管理操作。

admin-address = 0.0.0.0:2345

  7)(可选项,可不设置)默认字符集,若不设置该项,则默认字符集为latin1

charset = utf8

  8)(必备,根据实际情况配置)SQL日志的开关,可设置为OFF、ON、REALTIME,OFF代表不记录SQL日志,ON代表记录SQL日志,该模式下日志刷新是基于缓冲区的,当日志填满缓冲区后,才将日志信息刷到磁盘。REALTIME用于调试,代表记录SQL日志且实时写入磁盘,默认为OFF

sql-log = REALTIME

  日志路径在 /usr/local/mysql-proxy/log 下

4、运行Atlas

  进入/usr/local/mysql-proxy/bin目录,执行下面的命令启动、重启或停止Atlas。

 ./mysql-proxyd test start,启动Atlas。

 ./mysql-proxyd test restart,重启Atlas。

 ./mysql-proxyd test stop,停止Atlas。

  启动:

[[email protected] bin]# ./mysql-proxyd test start
OK: MySQL-Proxy of test is started
[root@Luxh-01 bin]# 

  注意:

  (1). 运行文件是:mysql-proxyd(不是mysql-proxy)。

  (2). test是conf目录下配置文件的名字,也是配置文件里instance项的名字,三者需要统一。

  (3). 可以使用ps -ef | grep mysql-proxy查看Atlas是否已经启动或停止。

5、连接

  客户端使用刚才配置的Atlas监听端口连接到Atlas代理服务

[[email protected] ~]# mysql -h192.168.29.130 -P1234 -uroot -p123456

  执行sql进行测试,可以通过日志看到写操作都在Master,读操作都连接到Slave了

  连接到管理端口

[[email protected] conf]# mysql -h192.168.29.130 -P2345 -uuser -ppwd

  进入后执行:select * from help;查看管理DB的各类命令。

  

时间: 2024-10-21 01:09:44

使用Atlas实现MySQL读写分离的相关文章

使用Atlas实现MySQL读写分离+MySQL-(Master-Slave)配置

参考博文: MySQL-(Master-Slave)配置  本人按照博友北在北方的配置已成功  我使用的是 mysql5.6.27版本. 使用Atlas实现MySQL读写分离

采用Atlas实现MySQL读写分离

##采用Atlas实现MySQL读写分离 一.基础介绍 ========================================================================================== 1.背景描述 目前我们的高可用DB的代理层采用的是360开源的Atlas,从上线以来,已稳定运行2个多月.无论是从性能上,还是稳定性上, 相比其他开源组件(amoeba.cobar.MaxScale.MySQL-Proxy等),还是很出色的. 当初我们之所以选择

Atlas做mysql读写分离

Atlas做mysql读写分离: Atlas奇虎360的一个开源中间代理,是在mysql-proxy 0.8.2的基础上进行了优化,增加一些新的功能特性. wget https://github.com/Qihoo360/Atlas/releases/download/2.2.1/Atlas-2.2.1.el6.x86_64.rpm rpm -i Atlas-2.2.1.el6.x86_64.rpm 安装路径为/usr/local/mysql-proxy /usr/local/mysql-pro

Atlas实现Mysql读写分离(结合MHA)

一.Atlas介绍 Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它是在mysql-proxy 0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性.360内部使用Atlas运行的mysql业务,每天承载的读写请求数达几十亿条. 目前实现比较稳定功能的是读写分离.分库分表还没那么的完善.. 二.环境: 操作系统版本:CentOS-6.5 64bit Atlas 版本: 2.2.1 mysql 版本: mysql-5.6.

利用Atlas实现MySQL读写分离

一.Atlas介绍 Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它是在mysql-proxy 0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性.360内部使用Atlas运行的mysql业务,每天承载的读写请求数达几十亿条.目前实现比较稳定功能的是读写分离.分库分表还没那么的完善.. 二.环境:操作系统: RHEL6 Or CentOS6  x86_64 Atlas 版本: 2.1 mysql 版本: mysql-5

基于Atlas实现mysql读写分离

一.实验环境 主机名IP地址 master192.168.200.111 slave192.168.200.112 atlas192.168.200.113 主从复制不再赘述,链接地址:https://blog.csdn.net/weixin_42480196/article/details/102565189https://blog.csdn.net/weixin_42480196/article/details/102565189授权Atlas登录用户grant all on *.* to

Atlas+keepalived实现mysql读写分离

本文主要介绍atlas安装.mysql读写分离的配置.mysql主从配置及利用keepalived解决atlas单点故障. Atlas介绍 Atlas是基于mysql-proxy做的二次开发.Atlas是一个位于应用程序与MySQL之间中间件.在后端DB看来,Atlas相当于连接它的客户端,在前端应用看来,Atlas相当于一个DB.Atlas作为服务端与应用程序通讯,它实现了MySQL的客户端和服务端协议,同时作为客户端与MySQL通讯.它对应用程序屏蔽了DB的细节,同时为了降低MySQL负担,

[记录]MySQL读写分离(Atlas和MySQL-proxy)

MySQL读写分离(Atlas和MySQL-proxy) 一.阿里云使用Atlas从外网访问MySQL(RDS) (同样的方式修改配置文件可以实现代理也可以实现读写分离,具体看使用场景) 1.在跳板机上使用Atals中转访问RDS不会影响效率,不要认为使用Atals后连接数据库会慢,连接数会疯狂占用,事实情况是刚好相反. Atlas不处理主从数据库数据同步,只是个负载均衡的连接池工具,主从同步请使用其他工具另行实现,本文只为了外网访问RDS(流量免费),实现连接池,有效利用RDS连接数. Atl

专职DBA-基于MHA高可用搭建MySQL读写分离架构-Atlas

专职DBA-基于MHA高可用搭建MySQL读写分离架构-Atlas 1.Atlas介绍 Atlas是由Qihoo360,Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目. 它是在mysql-proxy-0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性. 360内部使用Atlas运行的mysql业务,每天承载的读写请求数达几十亿条. 下载地址:https://github.com/Qihoo360/Atlas/releases 注意: 1.Atlas只能安装运