当前位置: 首页 > news >正文

mysql读写分离中间件Atlas安装部署及使用

以下是关于 Atlas 中间件更详细的操作指南,包括安装配置、高级功能、故障处理等内容:

一、完整安装步骤

1. 环境依赖

Atlas 基于 mysql-proxy 开发,需依赖 libeventlua

# CentOS 安装依赖
yum install -y libevent libevent-devel lua lua-devel# Ubuntu 安装依赖
apt-get install -y libevent-dev lua5.1 liblua5.1-dev
2. 下载与安装
# 下载 Atlas(以 2.2.1 版本为例)
wget https://github.com/Qihoo360/Atlas/releases/download/2.2.1/Atlas-2.2.1.el6.x86_64.rpm# 安装(RPM 包)
rpm -ivh Atlas-2.2.1.el6.x86_64.rpm# 安装目录默认在 /usr/local/mysql-proxy

二、配置文件详解(test.cnf)

完整配置示例及说明:

[mysql-proxy]
# 基础配置
daemon = true                  # 后台运行
keepalive = true               # 自动重启进程
pid-file = /var/run/atlas.pid  # PID 文件路径
log-level = message            # 日志级别(debug|info|message|warning|error)
log-path = /usr/local/mysql-proxy/logs  # 日志目录
proxy-address = 0.0.0.0:1234   # 代理端口(客户端连接用)
admin-address = 0.0.0.0:2345   # 管理接口端口# 后端数据库配置
proxy-backend-addresses = 192.168.1.100:3306  # 主库(可写)
proxy-read-only-backend-addresses = 192.168.1.101:3306@1,192.168.1.102:3306@2  # 从库(@后为权重,越大被选中概率越高)# 账号配置
admin-username = admin         # 管理接口用户名
admin-password = 123456        # 管理接口密码
pwds = test:3yb5jEku5h4=,root:xxxxxx  # 客户端连接密码(格式:用户名:加密密码,多个用逗号分隔)# 高级配置
charset = utf8                 # 默认字符集
worker-threads = 8             # 工作线程数(建议与 CPU 核心数一致)
sql-log = ON                   # 开启 SQL 日志(记录所有执行的 SQL)
proxy-skip-profiling = false   # 开启 SQL 分析(用于慢查询监控)
slow-log-threshold = 1000      # 慢查询阈值(毫秒)
密码加密方法

客户端密码需通过 Atlas 自带工具加密:

/usr/local/mysql-proxy/bin/encrypt 明文密码
# 示例:加密密码 "test123"
/usr/local/mysql-proxy/bin/encrypt test123
# 输出加密后的字符串,填入配置文件的 pwds 字段

三、启动与状态管理

1. 启动 Atlas
/usr/local/mysql-proxy/bin/mysql-proxy --defaults-file=/usr/local/mysql-proxy/conf/test.cnf
2. 验证启动状态
# 检查进程
ps -ef | grep mysql-proxy | grep -v grep# 检查端口监听
netstat -tlnp | grep -E "1234|2345"  # 1234 是代理端口,2345 是管理端口
3. 优雅重启与停止
# 重启(通过管理接口)
mysql -h127.0.0.1 -P2345 -uadmin -p123456 -e "reload"# 停止(通过管理接口)
mysql -h127.0.0.1 -P2345 -uadmin -p123456 -e "kill proxy"

四、管理接口高级操作

连接管理接口后,支持以下高级命令:

1. 后端数据库管理
-- 查看所有后端数据库状态(id、地址、类型、状态、权重)
select * from backends;-- 添加从库(权重为3)
add slave 192.168.1.103:3306@3;-- 移除从库(通过地址)
remove slave 192.168.1.103:3306;-- 临时禁用主库(仅读模式)
disable backend 0;  # 主库 id 固定为 0-- 恢复主库写入
enable backend 0;
2. 客户端连接管理
-- 查看当前客户端连接
show clients;-- 强制断开某个客户端(通过 client_id)
kill client 123;  # 123 为客户端 ID
3. 配置动态更新
-- 查看当前配置
show variables;-- 修改慢查询阈值(临时生效,重启后失效)
set slow-log-threshold = 2000;-- 永久生效需修改配置文件并 reload
4. SQL 日志与分析
-- 查看最近的慢查询
show slowlog;-- 清空慢查询日志
clear slowlog;

五、读写分离原理与验证

1. 读写分离规则
  • 写操作INSERT/UPDATE/DELETE/ALTER 等语句自动发往主库
  • 读操作SELECT 语句自动分发到从库(可通过 /*master*/ 强制走主库)
2. 验证读写分离
# 连接 Atlas 代理
mysql -h127.0.0.1 -P1234 -utest -ptest123# 执行写操作(主库)
insert into test.t1(id) values(1);# 执行读操作(从库)
select * from test.t1;# 强制读主库
select /*master*/ * from test.t1;
3. 分表分库配置(进阶)

Atlas 支持按规则分表分库,例如按 ID 范围分表:

# 在配置文件中添加
tables = test.t1:id:1000  # 表 test.t1 按 id 分表,每 1000 条数据一张表
dest_db_pattern = test_%d  # 目标库名格式(如 test_0, test_1)

六、故障处理与监控

1. 常见问题排查
  • 连接失败:检查 Atlas 进程是否启动、端口是否开放、密码是否正确
  • 读写异常:查看日志 logs/mysql-proxy.log,检查主从同步状态
  • 从库延迟:通过 show slave status 在从库查看同步延迟,调整从库权重
2. 监控指标
  • 后端数据库连接数:select * from backends 中的 connections 字段
  • 客户端连接数:show clients 统计
  • 慢查询数量:show slowlog 或分析日志文件

七、高可用配置

  1. 主库故障自动切换:结合 MHA 或 Keepalived 实现主库故障时自动切换到备用主库
  2. Atlas 集群:部署多个 Atlas 节点,前端通过负载均衡(如 Nginx)分发请求
  3. 配置文件备份:定期备份 test.cnf,避免配置丢失

通过以上详细操作,可以充分利用 Atlas 实现 MySQL 的读写分离、负载均衡和分表分库,提升数据库架构的稳定性和性能。

http://www.dtcms.com/a/479128.html

相关文章:

  • MySQL ORDER BY 深度解析:索引排序规则与关键配置参数阈值​
  • electron 套壳
  • 网站建设技术架构为了推广公众号可以采取的方法有
  • 网站建设蓝色工匠美创网站建设优势
  • 项目1:FFMPEG推流器讲解(五):FFMPEG时间戳、时间基、时间转换的讲解
  • 如何让自己网站排名提高步骤怎么写
  • 承德网站网站建设做外贸生意用哪个网站最好
  • 一、前置基础(MVC学习前提)_核心特性_【C# OOP 入门】从生活例子看懂类、继承、多态和封装,避坑指南来了!
  • RNN代码实战专项
  • 金蝶云·星瀚 | 生产制造成本核算终极实操手册(从0到1,含两套完整案例)
  • 千灯网站建设自由贸易试验区网站建设方案
  • 理解 JavaScript 中的 this 上下文保存
  • LLC系列--变压器
  • qwen2.5vl 模型配置记录
  • 无锡网站建设制作设计wordpress模板淘客
  • 平原县网站seo优化排名深入解析wordpress(原书第2版)
  • 云手机 手游专用虚拟手机
  • 网站开发模块就业前景怎么建设游网站主页
  • 神卓 N600:内网穿透需求的高效安全之选
  • 以营销导向型建设网站方案深圳福永网站建设
  • 企业网站带后台模板包括搜索引擎排名、网页标签优化、相关链接交换、网络广告投放等
  • Spring 事务传播机制
  • 免费个人网站建站能上传视频吗网页制作公司文案
  • 海南建设局网站关键词排名怎么上首页
  • 嘉兴哪里做网站电力建设期刊网站投稿
  • AI学习日记——卷积神经网络(CNN):高级技巧与跨领域应用实战(含ResNet可视化分析)
  • Leetcode 3708. Longest Fibonacci Subarray
  • node.js网站开发合适吗图片免费设计在线生成
  • 建设工程项目管理信息门户网站没有足够的权限卸载2345网址导航
  • 福州网站推广定制广州网站开发建设