MAH配合Atlas实现读写分离

Atlas 介绍

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

它是在mysql-proxy 0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性。

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

下载地址:Releases · Qihoo360/Atlas · GitHub

注意:

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以上

实验环境

实验步骤

主从复制和MHA参考上一章内容

1、安装Atlas(Atlas)

将Atlas-2.2.el6.x86_64包拖入/root目录

rpm -ivh Atlas-2.2.el6.x86_64.rpm

2、制作repl和mha用户的加密密码(Atlas)

/usr/local/mysql-proxy/bin/encrypt 123

/usr/local/mysql-proxy/bin/encrypt mha

3、创建Atlas配置文件(Atlas)

cd /usr/local/mysql-proxy/conf/

mv test.cnf test.cnf.bak

vim test.cnf

添加:

[mysql-proxy]

admin-username = user

admin-password = pwd

proxy-backend-addresses = 192.168.8.5:3306

proxy-read-only-backend-addresses = 192.168.8.6:3306,192.168.8.7:3306

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

daemon = true

keepalive = true

event-threads = 8

log-level = message

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

sql-log=ON

proxy-address = 0.0.0.0:33060

admin-address = 0.0.0.0:2345

charset=utf8

4、启动Atlas(Atlas)

/usr/local/mysql-proxy/bin/mysql-proxyd test start

netstat -anpt | grep mysql-proxy

Atlas功能测试

  • 读操作测试

Slave2:

mysql -umha -pmha -h192.168.8.8 -P33060

select @@server_id;

select @@server_id;

轮询读取从数据库内容

  • 写操作测试

Slave2:

begin;select @@server_id;commit;

内容写入主数据库

生产用户要求

开发人员申请一个应用用户app(select、update、insert)密码123456,要通过8网段登录

1、在主库中创建用户(Master)

grant select,update,insert on *.* to app@'192.168.8.%' identified by '123456';

2、制作加密密码(Atlas)

/usr/local/mysql-proxy/bin/encrypt 123456

3、在Atlas配置文件中添加生产用户(Atlas)

vim /usr/local/mysql-proxy/conf/test.cnf

添加:

,app:/iZxz+0GRoA=

4、重启Atlas(Atlas)

/usr/local/mysql-proxy/bin/mysql-proxyd test restart

验证:

Master:

create database test;

use test;

create table t1(id int,name varchar(20));

Slave2:

使用app用户登录数据库

mysql -uapp -p123456 -h192.168.8.8 -P33060

use test;

insert into t1 values(1,'zhangsan'),(2,'lisi'),(3,'wangwu');

select * from t1;

数据是通过Atlas写到Master上

Atlas基本管理

连接管理接口(Slave2)

mysql -uuser -ppwd -h192.168.8.8 -P2345

查看数据库帮助

select * from help;

查看数据库节点状态

select * from backends;

关闭节点

set offline 2;

开启节点

set online 2;

删除从节点

remove backend 3;

select * from backends;

添加从节点

add slave 192.168.8.7:3306;

select * from backends;

添加白名单

add client 192.168.8.8;

删除白名单

remove client 192.168.8.8;

保存配置

save config;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值