MySQL5.7.36之高可用架构部署-Atlas读写分离

1、安装Atlas-2.2.1.el6.x86_64.rpm

复制代码
rpm -ivh Atlas-2.2.1.el6.x86_64.rpm

2、进入Atlas目录并且备份配置文件

复制代码
cd /usr/local/mysql-proxy/conf
cp test.cnf test.cnf.bak

3、密码加密采用的是自带的工具

复制代码
/usr/local/mysql-proxy/bin/encrypt 123456 #因为我的密码是123456

4、修改配置文件

复制代码
vi /usr/local/mysql-proxy/conf/test.cnf
[mysql-proxy]
admin-username = root
admin-password = 123456
proxy-backend-addresses = 192.168.31.220:3306 #主库地址,而我们采用的是vip漂移,所以这个地方我们放的是vip地址
proxy-read-only-backend-addresses = 192.168.31.214:3306,192.168.31.215:3306
pwds = repl:/iZxz+0GRoA=, mha:/iZxz+0GRoA=, root:/iZxz+0GRoA=
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

5、启动Atlas

复制代码
/usr/local/mysql-proxy/bin/mysql-proxyd test start    #启动Atlas。
/usr/local/mysql-proxy/bin/mysql-proxyd test restart  #重启Atlas。
/usr/local/mysql-proxy/bin/mysql-proxyd test stop     #停止Atlas。

6、查询Atlas

复制代码
ps -ef | grep proxy

7、开放Atlas端口号

复制代码
开启2345端口 firewall-cmd --zone=public --add-port=2345/tcp --permanent
开启33060端口 firewall-cmd --zone=public --add-port=33060/tcp --permanent
刷新防火墙 firewall-cmd --reload

8、测试Atlas

复制代码
mysql -umha -p123456 -h192.168.31.215 -P 33060
select @@server_id;
begin;select @@server_id;commit;

9、Atlas在线管理

复制代码
mysql -uroot -p123456 -h192.168.31.215 -P2345
select * from help;

a、查看节点信息

复制代码
mysql> select * from backends;
+-------------+---------------------+-------+------+
| backend_ndx | address             | state | type |
+-------------+---------------------+-------+------+
|           1 | 192.168.31.220:3306 | up    | rw   |
|           2 | 192.168.31.214:3306 | up    | ro   |
|           3 | 192.168.31.215:3306 | up    | ro   |
+-------------+---------------------+-------+------+

b、临时关闭节点与启动

复制代码
set offline $backend_id; #临时关闭
set online $backend_id; #临时启动

c、动态添加、删除节点

复制代码
remove backend 3; #动态删除从库节点
add slave 192.168.31.215:3306; #动态添加从库节点

d、保存配置到配置文件

复制代码
save config;
相关推荐
袋鼠云数栈UED团队1 小时前
基于 Lexical 实现变量输入编辑器
前端·javascript·架构
兆子龙2 小时前
像 React Hook 一样「自动触发」:用 Git Hook 拦住忘删的测试代码与其它翻车现场
前端·架构
兆子龙3 小时前
用 Auto.js 实现挂机脚本:从找图点击到循环自动化
前端·架构
兆子龙5 小时前
从 float 到 Flex/Grid:CSS 左右布局简史与「刁钻」布局怎么搞
前端·架构
爱勇宝8 小时前
2026一人公司生存指南:用AI大模型,90天跑出你的第一条现金流
前端·后端·架构
jiayou648 小时前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
偷油师傅9 小时前
拆解 OpenClaw - 05:13 个省 Token 的设计
架构
兆子龙9 小时前
当「多应用共享组件」成了刚需:我们从需求到模块联邦的落地小史
前端·架构
于眠牧北9 小时前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql
sunny_1 天前
⚡️ vite-plugin-oxc:从 Babel 到 Oxc,我为 Vite 写了一个高性能编译插件
前端·webpack·架构