atlas mysql 读写分离_MySQL读写分离工具Atlas

大家好,我是anyux。本文介绍MySQL读写分离工具Atlas。

Atlas介绍

原来mha构架下有三台服务器,利用率只有30%,可以使用Atlas数据库中间件提高服务器利用率。即利用从库读,主库写

531ef0583b2acf0cdddfceecd95334f2.png

atlas架构

atlas安装在应用程序和数据库服务之间,使用时,应用程序直接连接atlas

注意:

atlas只能安装在64位系统上

后端mysql版本须大于等于5.6

安装过程

在新链接复制的虚拟机db116上安装atlas

wget https://github.com/Qihoo360/Atlas/releases/download/2.2.1/Atlas-2.2.1.el6.x86_64.rpmrpm -ivh Atlas-2.2.1.el6.x86_64.rpmcd /usr/local/mysql-proxy/confmv test.cnf test.cnf.bakecho "export PATH=$PATH:/usr/local/mysql-proxy/bin/" >> /etc/profilesource /etc/profile

配置文件

配置文件项可以参考test.cnf.bak,因为atlas是国人基于MySQL-proxy二次开发的软件产品,注释也是汉字,很是方便

c294a99b5faf900ed963e078767e6f3c.png

cat >test.cnf <

6d2d15ab3930d6878994fc950e8da247.png

启动atlas

test对应上面的test.cnf文件,可以管理多个mha节点

mysql-proxyd test startps -ef |grep [p]roxyss -lnatup | grep proxy

134e73713be20f8c1bb0c7921d73e94a.png

连接atlas生产端口

cat >/etc/yum.repos.d/mysql-community.repo <

服务器版本Server version:5.0.81

14fe41815dc1689e239cc02ad7a746a0.png

测试读写分离

模拟读操作

select @@server_id;

75f4570ca8bb751d785ebd9a3142e252.png

模拟写操作

begin;select @@server_id;commit;

184c58e67eda2dca39ba586c1e8c919d.png

添加生产用户

主库创建用户

grant all on *.* to 'app'@'%' identified by 'app';flush privileges;

f03f5ff8152840b96d78c6c79e66693d.png

制作密码

encrypt app

追加到配置文件

vim /usr/local/mysql-proxy/conf/test.cnfpwds = repl:3yb5jEku5h4=,mha:O2jBXONX098=,app:CsTF0xptdHU=

重启atlas

mysql-proxyd test restart

测试连接

mysql -uapp -papp -h 192.168.255.116 -P 33060

测试新用户读写分离

select @@server_id;

4b584390df55035ed79a1a7aaae3f9d1.png

begin;select @@server_id;commit;

31d51515e21755ee8538013aed258488.png

集群管理

连接管理端口

mysql -uatlas -patlas -h 127.0.0.1 -P 2345

连接截图如下

38810b641a438cee2d59264b77a9c7d1.png

查看帮助

select * from help;

9902151cc9dec4571da0a2efef1350b8.png

49348353afdcd27df9c96c2baf325b58.png

select * from backends;

backend_ndx是atlas对数据库节点的编号,使用编号对数据库进行管理

2f8e3612fe947356c22cbc2648764539.png

set offline 2;

临时停止对后端主机发送请求

0f55002762e279f4e44aac3116d9c892.png

set online 2;

开启对后端数据库的通信

5636a879767a2b6cce517c64601f1c90.png

add master "127.0.0.1:3306";

添加主节点,一般很不用到

remove backend 3;

删除节点

45a353071a5db18eb5b51eac8fdc0f0f.png

add slave 192.168.255.115:3306;

添加从节点,较多使用

ae9b921f73c0880fd96b06aac21381aa.png

select * from clients;

查看连接白名单,如果白名单为空,则允许所有ip连接,否则只允许列表中的ip连接,详情参考备份文件

ef8fafe0dcbba6be03affaf61f38080f.png

add client 192.168.255.119;

添加连接白名单

remove client 192.168.255.119;

删除连接白名单

select * from pwds;

95b577fd0dd87451d699efd6dede2213.png

首先要在后端主库添加生产用户

grant all on *.* to app01@'%' identified by 'app01';flush privileges;

在atlas中配置用户

add pwd app01:app01

f4e98840388ef434e82a8f5434bd1f11.png

add enpwd app01:"umY97nPrOgE=";

enpwd表示加密后的密码

remove pwd app;

fffb7dc99868d1e836778a9c07e21a03.png

save config;

保存修改内容到配置文件中

select version;

0ebf304823d6e771011c2c77781397ec.png

记录的日志

cat log/test.log

1316abbc480d20a1d93c9ddb483fac36.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值