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;
相关推荐
咖啡啡不加糖8 分钟前
深入理解MySQL死锁:从原理、案例到解决方案
java·数据库·mysql
文牧之9 分钟前
PostgreSQL 的扩展pageinspect
运维·数据库·postgresql
要努力啊啊啊18 分钟前
使用 Python + SQLAlchemy 创建知识库数据库(SQLite)—— 构建本地知识库系统的基础《一》
数据库·人工智能·python·深度学习·自然语言处理·sqlite
KENYCHEN奉孝19 分钟前
Django CMS 的 Demo
数据库·sqlite
小兔子酱#34 分钟前
【Docker 01】Docker 简介
运维·docker·容器
为中华崛起而奋斗42 分钟前
Oracle 19c RAC集群ADG搭建
数据库·oracle
betazhou2 小时前
mariadb5.5.56在centos7.6环境安装
android·数据库·adb·mariadb·msyql
开挖掘机上班2 小时前
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
数据库·mysql
花月C2 小时前
Mysql-定时删除数据库中的验证码
数据库·后端·mysql·spring