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

第十三篇:MySQL 运维自动化与可观测性建设实践指南

本篇重点介绍 MySQL 运维自动化的关键工具与流程,深入实践如何构建高效可观测体系,实现数据库系统的持续稳定运行与故障快速响应。

一、为什么需要 MySQL 运维自动化与可观测性?

运维挑战:

  • 手动备份容易遗漏或失败;

  • 故障排查靠经验,效率低;

  • 性能瓶颈无从感知;

  • 日志分散,排查成本高。

目标:

  • 自动化操作,提高效率与一致性;

  • 构建统一监控面板,提前预警;

  • 实现性能可视化与问题定位。

 二、MySQL 运维自动化实践

1. 自动备份方案设计

常见工具:
工具特点
mysqldump简单易用,适合逻辑备份
xtrabackup热备份,无锁,高效适用于大数据量备份
mysqlpump支持并发导出,速度更快
示例:使用 xtrabackup 自动备份脚本(简化版)

#!/bin/bash DATE=$(date +%F_%H-%M) BACKUP_DIR="/backup/mysql/$DATE" mkdir -p $BACKUP_DIR xtrabackup --backup --target-dir=$BACKUP_DIR --user=root --password=yourpass

可配合 crontab 定时任务实现自动备份:

0 2 * * * /usr/local/scripts/mysql_backup.sh

2. 自动主从复制检测与重建

  • 利用 SHOW SLAVE STATUS\G 监控同步状态;

  • 检测 Seconds_Behind_MasterIO_Running 等;

  • 失败自动触发重建流程或切换主节点。

3. 自动故障检测与恢复

  • 利用 keepalived + VIP 实现高可用;

  • 结合 MHAOrchestrator 自动完成故障切换;

  • 配置告警(如企业微信/钉钉告警机器人)。

 三、MySQL 可观测性建设

1. 架构设计图

+-------------+ +----------------+ +----------------+ | MySQL 实例 | <---> | Exporter (采集器) | --> | Prometheus(存储)| +-------------+ +----------------+ +----------------+ | v +----------------+ | Grafana(展示) | +----------------+


2. Exporter 数据采集

MySQL Exporter 安装(以 Prometheus 官方为例):

wget https://github.com/prometheus/mysqld_exporter/releases/... tar -xvzf mysqld_exporter-*.tar.gz ./mysqld_exporter --config.my-cnf=/etc/.my.cnf

.my.cnf 内容示例:

[client] user=monitor password=123456


3. Prometheus 配置监控项

prometheus.yml 中添加如下内容:

- job_name: 'mysql' static_configs: - targets: ['192.168.1.10:9104']

启动 Prometheus 后即可采集 MySQL 指标数据。


4. Grafana 仪表盘展示

步骤:
  1. 安装 Grafana;

  2. 添加 Prometheus 为数据源;

  3. 导入 MySQL 官方模板(ID: 7362);

  4. 可视化监控如下关键指标:

指标含义
QPS/TPS查询与事务吞吐率
Connections活跃连接数
Slow Queries慢查询数量
Innodb Buffer HitInnoDB 缓存命中率
IO Utilization磁盘 IO 利用率
Replication Lag主从延迟

四、日志监控与审计增强

1. 慢查询日志分析

开启配置:

slow_query_log=1 long_query_time=1 log_output=FILE

结合 pt-query-digest 分析慢查询 SQL:

pt-query-digest /var/lib/mysql/slow.log > report.txt


2. 审计日志工具(安全合规)

推荐使用插件如:

  • Audit Plugin

  • Percona Audit Log

  • MySQL Enterprise Audit(商业版)。

记录如用户登录、DDL 操作、敏感表查询等行为。

五、安全告警集成

  • 日志关键字匹配告警(如:DROP TABLE);

  • 磁盘空间/主从延迟/连接数超标预警;

  • 集成告警渠道:钉钉、企业微信、邮箱、Grafana Alert 等。

六、总结与实践建议

模块建议
自动化备份使用 xtrabackup,定期验证恢复
主从监控构建状态检测脚本或引入 Orchestrator
可观测性使用 Prometheus + Grafana 构建监控平台
日志审计开启慢查询日志 + 审计插件
安全与预警构建多渠道告警体系,注重故障前检测

相关文章:

第十三篇:MySQL 运维自动化与可观测性建设实践指南

本篇重点介绍 MySQL 运维自动化的关键工具与流程&#xff0c;深入实践如何构建高效可观测体系&#xff0c;实现数据库系统的持续稳定运行与故障快速响应。 一、为什么需要 MySQL 运维自动化与可观测性&#xff1f; 运维挑战&#xff1a; 手动备份容易遗漏或失败&#xff1b; …...

短视频平台差异视角下开源AI智能名片链动2+1模式S2B2C商城小程序的适配性研究——以抖音与快手为例

摘要 本文以抖音与快手两大短视频平台为研究对象&#xff0c;从用户群体、内容生态、推荐逻辑三维度分析其差异化特征&#xff0c;并探讨开源AI智能名片链动21模式与S2B2C商城小程序在平台适配中的创新价值。研究发现&#xff0c;抖音的流量中心化机制与优质内容导向适合品牌化…...

HTTP 如何升级成 HTTPS

有一个自己的项目需要上线&#xff0c;域名解析完成后&#xff0c;发现只能使用 http 协议&#xff0c;这在浏览器上会限制&#xff0c;提示用户不安全&#xff0c;所以需要把 HTTP 升级成 HTTPS 协议&#xff0c;但又不想花钱。 前提条件&#xff1a; 已经配置好 Nginx 服务器…...

【笔记】Windows 下载并安装 ChromeDriver

以下是 在 Windows 上下载并安装 ChromeDriver 的笔记&#xff1a; ✅ Windows 下载并安装 ChromeDriver 1️⃣ 确认 Chrome 浏览器版本 打开 Chrome 浏览器 点击右上角 ︙ → 帮助 → 关于 Google Chrome 记下版本号&#xff0c;例如&#xff1a;114.0.5735.199 2️⃣ 下载…...

Spark-Core Project

RDD转换算子总结 RDD转换算子分为Value类型、双Value类型和Key - Value类型。 1、Value类型 map&#xff1a;对数据逐条映射转换&#xff0c;可改变数据类型或值。如 dataRDD.map(num > num * 2 运行结果&#xff1a; 2&#xff09;mapPartitions&#xff1a;以分区为单位处…...

SQL 中的 `CASE WHEN` 如何使用?

✅ SQL 中的 CASE WHEN 如何使用? 一、CASE WHEN 是什么? CASE WHEN 是 SQL 中用于实现 条件判断 的表达式,功能类似于 if-else 或 switch-case,可用于 SELECT、WHERE、ORDER BY 等子句中。 go专栏:https://duoke360.com/tutorial/path/golang 二、语法格式 1. 简单 C…...

Wireshark 使用教程:让抓包不再神秘

一、什么是 tshark&#xff1f; tshark 是 Wireshark 的命令行版本&#xff0c;支持几乎所有 Wireshark 的核心功能。它可以用来&#xff1a; 抓包并保存为 pcap 文件 实时显示数据包信息 提取指定字段进行分析 配合 shell 脚本完成自动化任务 二、安装与验证 Kali Linux…...

JWT安全:接收无签名令牌.【签名算法设置为none绕过验证】

JWT安全&#xff1a;假密钥【签名随便写实现越权绕过.】 JSON Web 令牌 (JWT)是一种在系统之间发送加密签名 JSON 数据的标准化格式。理论上&#xff0c;它们可以包含任何类型的数据&#xff0c;但最常用于在身份验证、会话处理和访问控制机制中发送有关用户的信息(“声明”)。…...

什么算得到?什么又算失去?

目录 **一、什么是“得到”&#xff1f;****二、什么是“失去”&#xff1f;****三、得到与失去的悖论****四、如何超越得失二元论&#xff1f;****五、一个更本质的答案** 关于“得到”与“失去”的界定&#xff0c;本质上是对存在状态和主观认知的辩证思考。这两者并非绝对&a…...

白银价格查询接口如何用Java进行调用?

一、什么是白银价格查询接口&#xff1f; 它聚焦于上海黄金交易所、上海期货交易所等权威市场&#xff0c;精准提供白银价格行情数据&#xff0c;助力用户实时把握市场脉搏&#xff0c;做出明智的投资决策。 二、应用场景 分析软件&#xff1a;金融类平台可以集成本接口&…...

FreeBSD 14.3 候选版本附带 Docker 镜像和关键修复

新的月份已经到来&#xff0c;FreeBSD 14.3 候选发布版 1 现已开放测试&#xff0c;它带来了一些您可能会觉得有用的更新&#xff0c;特别是如果您对Docker容器感兴趣的话。RC1 版本中一个非常受欢迎的改进是&#xff0c;FreeBSD 项目已开始将官方开放容器计划 (OCI) 镜像发布到…...

NodeJS全栈WEB3面试题——P6安全与最佳实践

&#x1f510; 6.1 如何防范重放攻击、私钥泄露、钓鱼签名&#xff1f; ✅ 重放攻击&#xff08;Replay Attack&#xff09;防范&#xff1a; 引入 nonce&#xff1a;每次登录或交易签名都携带唯一 nonce&#xff1b; 链 ID 检查&#xff1a;在签名中加入特定链 ID&#xff0…...

「Java教案」算术运算符与表达式

课程目标 1&#xff0e;知识目标 能够区分Java运算符的种类&#xff0c;例如&#xff0c;算术、赋值、关系、逻辑、位运算等。能够区分Java各类运算符的功能和使用场景。能够根据表达式的构成和计算规则&#xff0c;写出正确的表达式。能够根据运算符优先级与结合性&#xff…...

Ubuntu开机黑屏现象的常见解决方案详解

Ubuntu开机黑屏现象的常见解决方案详解 Ubuntu作为一款流行的Linux发行版&#xff0c;因其开源性和灵活性受到广泛欢迎。然而&#xff0c;用户在使用过程中可能会遇到开机黑屏的问题&#xff0c;即系统启动后屏幕完全无显示&#xff0c;仅留下光标闪烁或黑屏界面。这种问题可能…...

黑马程序员C++核心编程笔记--4 类和对象--多态

1.多态的基本概念 多态是C面向对象三大特性之一 多态分为两类 静态多态: 函数重载和运算符重载属于静态多态&#xff0c;复用函数名动态多态: 派生类和虚函数实现运行时多态 静态多态和动态多态区别&#xff1a; -静态多态的函数地址早绑定 - 编译阶段确定函数地址 -动态多…...

论文写作核心要点

不要只读论文里的motivation和method 论文里的图表和统计特征 在论文里找到具有统计意义的东西&#xff0c;那么在语料里也肯定遵循这样的规律&#xff0c;我们就能用机器学习的方法&#xff0c; 我们再用不同方法解决&#xff0c;哪种方法好&#xff0c;就用哪种 实验分析 …...

[java]eclipse中windowbuilder插件在线安装

目录 一、打开eclipse 二、打开插件市场 三、输入windowbuilder&#xff0c;点击install 四、进入安装界面 五、勾选我同意... 重启即可 一、打开eclipse 二、打开插件市场 三、输入windowbuilder&#xff0c;点击install 四、进入安装界面 五、勾选我同意... 重启即可...

Ubuntu20.04服务器开启路由转发让局域网内其他电脑通过该服务器连接外网

要让你的 Ubuntu作为路由器&#xff0c;通过 Wi-Fi 上网&#xff0c;并给连接到 UsbNetwork 的设备提供网络&#xff0c;需要做以下配置&#xff1a; 1. 网络拓扑 [互联网] ← (Wi-Fi, wlo1) → [Ubuntu] ← (USB网络/USB以太网, UsbNetwork) → [设备]Ubuntu&#xff1a; Wi-…...

【Oracle】TCL语言

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. TCL概述1.1 什么是TCL&#xff1f;1.2 TCL的核心功能 2. 事务基础概念2.1 事务的ACID特性2.2 事务的生命周期 3. COMMIT语句详解3.1 COMMIT基础语法3.2 自动提交与手动提交3.3 提交性能优化 4. ROLLBACK语句…...

Windows | 总误按Num Lock?修改注册表永久禁用Numlk键使小键盘一直输入数字

先说需修改注册表的位置与键值 路径&#xff1a;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\ 二进制键&#xff1a;Scancode Map 键值&#xff1a; 00 00 00 00 00 00 00 00 01 00 00 00 00 00 45 00 00 00 00 00 00 00 00 00如下图&#xff1a; …...

2.RV1126-OPENCV Mat理解和AT函数

一.Mat概念 Mat 是整个图像存储的核心也是所有图像处理的最基础的类&#xff0c;Mat 主要存储图像的矩阵类型&#xff0c;包括向量、矩阵、灰度或者彩色图像等等。Mat由两部分组成&#xff1a;矩阵头&#xff0c;矩阵数据。矩阵头是存储图像的长度、宽度、色彩信息等头部信息&a…...

Go 语言 + Word 文档模板:WordZero 引擎如何让企业文档处理效率提升 300%?

前言 在企业级应用开发中&#xff0c;自动化生成Word文档一直是个令人头疼的需求。传统的方案要么依赖于复杂的Office COM组件&#xff0c;要么使用功能有限的第三方库。今天为大家介绍一个纯Go语言实现的Word操作库——WordZero&#xff0c;特别是其强大的模板引擎功能&#…...

unidbg patch 初探 微博deviceId 案例

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 逆向过程 看了b站迷人瑞信那个由于是…...

循序渐进 Android Binder(一):IPC 基本概念和 AIDL 跨进程通信的简单实例

Binder 给人的第一印象是”捆绑者“&#xff0c;即将两个需要建立关系的事物用某些工具束缚在一起。在 Android 中&#xff0c;Binder 是一种高效的跨进程通信&#xff08;IPC&#xff09;机制&#xff0c;它将可以将运行在不同进程中的组件进行绑定&#xff0c;以实现彼此通信…...

网络安全之Web渗透加解密

项目基本使用 准备环境&#xff1a;node.js python chrome npm install chrome-remote-interface pip install playwright playwright install chromium pip install mitmproxy ............... 第一步启动cdp.js。 第二步使用python .\cdp_load.py vue_demo&#xff0c;连…...

Leetcode 3567. Minimum Absolute Difference in Sliding Submatrix

Leetcode 3567. Minimum Absolute Difference in Sliding Submatrix 1. 解题思路2. 代码实现 题目链接&#xff1a;3567. Minimum Absolute Difference in Sliding Submatrix 1. 解题思路 这一题想了一下&#xff0c;没想到啥好的思路&#xff0c;就是暴力直接求解了一下&am…...

【LeetCode 题解】两数之和(C++/Python 双解法):从语法到算法的全面解析

【LeetCode题解】两数之和&#xff08;C/Python双解法&#xff09;&#xff1a;从语法到算法的全面解析 一、题目描述 题目链接&#xff1a;1. 两数之和 难度&#xff1a;简单 要求&#xff1a;给定一个整数数组 nums 和一个整数目标值 target&#xff0c;在数组中找出两个数…...

【机器学习基础】机器学习入门核心算法:集成学习(Ensemble Learning)

机器学习入门核心算法&#xff1a;集成学习&#xff08;Ensemble Learning&#xff09; 1. 算法逻辑核心逻辑&#xff1a; 2. 算法原理与数学推导2.1 Bagging&#xff08;Bootstrap Aggregating&#xff09;2.2 Boosting2.3 Stacking 3. 模型评估评估指标基学习器选择策略 4. 应…...

【TMS570LC4357】之相关驱动开发学习记录1

系列文章目录 【TMS570LC4357】之工程创建 【TMS570LC4357】之工程配置修改 【TMS570LC4357】之HALCOGEN使用 【TMS570LC4357】之相关问题及解决 ——————————————————— 前言 记录笔者在第一次使用TMS570过程中对外设驱动的一些学习碎片。 1. RTI 1.1 添…...

RAG入门 - Retriever(1)

文章目录 环境准备知识库加载1. Retriever - embeddings &#x1f5c2;️1.1 将文档拆分为chunks1.2 词嵌入1.3 构建向量数据库Nearest Neighbor search algorithm &#xff08;最近邻搜索算法&#xff09;Distances &#xff08;距离&#xff09;点积&#xff08;Dot Product&…...