MySQL高可用解决方案(4)数据库中间件之Atlas
一、数据库中间件介绍
数据库中间件一般用于实现MySQL读写分离、从库负载均衡、IP过滤等功能。程序端通过访问中间件去对后端数据库进行请求,无需通过修改程序就可以进行读写分离。比较出名的MySQL中间件有360开源的Atlas、基于Proxy SQL开发的Cetus、DBLE、阿里巴巴开源的Mycat、MySQL官方的mysql-router以及第三方中间件maxscale等。这些中间件的原理基本是相同的,甚至大多数都是基于Proxy SQL演变而来
二、Atlas的安装部署
Atlas是由360基于官方mysql-proxy所优化改进的数据库中间件,相比官方的MySQL-Proxy,atlas效率要高出很多倍,而且配置也简单。Atlas运行在所有数据库节点的前面,用户通过Atlas来对数据库进行请求(有点像Nginx反向代理)。最主要的是配置文件全部都有中文注释。遗憾的是该软件已经很多年没更新了
1、atlas的代码存放于github(https://github.com/Qihoo360/Atlas),下载rpm包后直接安装即可
rpm -ivh Atlas-2.2.1.el6.x86_64.rpm
2、Atlas配置文件都有中文注释,只说说需要修改的地方
/usr/local/mysql-proxy/conf/test.cnf proxy-backend-addresses = 10.0.0.55:3306 #主库的地址,这里可以结合MHA使用VIP。写操作都会请求到这个节点。 proxy-read-only-backend-addresses =10.0.0.52:3306.10.0.0.53:3306@5 #多个从库用逗号隔开,@后面数字代表负载均衡的权重 pwds = root:6hG36gjkG,repl:geg363xsGE #客户端连接atlas用到的数据库账户和密码,如果没有在这里配置,即便数据库有授权,也无法通过atlas来连接数据库。密码需用mysql-proxy/bin/encrypt加密,如encrypt 123456得到的值 event-threads = 8 #根据cpu核数设置 log-level = error proxy-address = 0.0.0.0:3306 #atlas工作端口
3、Atlas的启动与停止
/usr/local/mysql-proxy/bin/mysql-proxyd test start|stop|restart|status #test为配置文件的名字
三、Atlas的使用与管理
1、使用atlas配置文件中的管理账号连接服务
mysql -uuser -ppwd -p3306 -h127.0.0.1
2、登录上atlas后有一些管理命令如下图
3、通过这些命令可以进行查看、上下线节点、密码配置等操作,而且无需重启服务
select * from backends #查看所有只读节点 set offline $从节点id #暂时下线某个节点,用于维护 remove backends $从节点id #删除从节点 add backends 10.0.0.54 #增加从节点
4、执行这些命令后需要save config一下,这样atlas的配置文件会被自动修改
版权声明:本文章版权归数据库运维网(www.ywdba.cn)所有。如需引用本站内容,请注明来源及作者。
评论