使用atlas搭建读写分离集群
Atlas说明
Atlas是360团队弄出来的一套基于MySQL-Proxy基础之上的代理,修改了MySQL-Proxy的一些BUG,并且优化了很多东西。而且安装方便。配置的注释写的蛮详细的,都是中文。
Atlas官方链接:https://github.com/Qihoo360/Atlas/blob/master/README_ZH.md
Atlas下载链接: https://github.com/Qihoo360/Atlas/releases
主要功能:
1.读写分离
2.从库负载均衡
3.IP过滤
4.自动分表
5.DBA可平滑上下线DB
6.自动摘除宕机的DB
安装atlas
安装
安装时确认这个主机中mysql关闭( 可以并存, 因为端口不一样 )
如有: 则关闭mysqld服务:systemctl stop mysqld
输入: > mysql –p3306–uroot –p123456测试能否进入
下载Atlas会有两个版本,其中有个分表的版本,但是这个需要其他的依赖,我这边不需要分表这种需求,所以安装普通的版本
Atlas (普通) : Atlas-2.2.1.el6.x86_64.rpm
Atlas (分表) : Atlas-sharding_1.0.1-el6.x86_64.rpm
Ø Cd /home
Ø Wget https://github.com/Qihoo360/Atlas/releases/download/2.2/Atlas-2.2.el6.x86_64.rpm(去github上找最新版)
Ø rpm -ivh Atlas-2.2.el6.x86_64.rpm
服务操作
安装在/usr/local/mysql-proxy中
开启服务:
./usr/local/mysql-proxy/bin/mysql-proxydtest start;
停止:
./usr/local/mysql-proxy/bin/mysql-proxydtest Stop
重启:
./usr/local/mysql-proxy/bin/mysql-proxydtest Restart
查看状态:
./usr/local/mysql-proxy/bin/mysql-proxydtest Status
配置
进入mysql-proxy目录
Cd /usr/local/mysql-proxy
生成数据的密码 加密字符串
/iZxz+0GRoA=
修改配置文件
使用加密后的密码
主库可以为atlas当前的主机, 主库同样可以为执行读的库
运行
若有问题, 参见github文档, 更详细
https://github.com/Qihoo360/Atlas/blob/master/README_ZH.md
运行
查看状态
测试是否有效
登录管理员账户
查看所有的可用命令
使用这些命令对集群进行管理
登录工作接口—相当于对外的一个mysql
测试读写分离
关闭主从复制
从数据库
Mysql> stop slave
测试读写
插入一条数据:
查询结果
结果不变, 查询主库. 数据加入成功. Ok!
恢复主从
当前直接打开从库的集群复制即可
Startslave;
Showslave status\G;
若出现问题, 重新设置主从
1. 同步主从数据
2. 设置从库的文件即位置起点
3. 开启从
远程登录不了, 则设置防火墙
设置Altas的防火墙
Firewall-cmd –add-port=1234/tcp –permanent
Firewall-cmd --reload