工具中心 · 运维工具
监控与脚本运维
从服务器即时状态、活动会话和慢查询入手定位异常,再用可审阅的 SQL 脚本、代码片段与执行历史完成日常运维闭环。
能力边界:服务器监控适合交互式查看当前状态,SQL 脚本与代码片段适合受控执行和复用。它们不能替代独立告警平台、长期时序指标系统、变更审批或数据库原生审计。
适用场景
本页面向需要观察数据库运行状态、整理常用 SQL,并对一次执行进行追溯的开发者与 DBA。常见任务包括:
- 短时性能观察:对照活动连接、运行线程、平均 QPS / TPS、慢查询数、网络收发量、Buffer Pool 命中率与运行时间,确认异常是否持续存在。
- 会话与慢查询定位:查看进程的用户、主机、数据库、命令、持续时间、状态和 SQL,再决定是继续观察、联系业务方,还是在授权后终止异常会话。
- 重复 SQL 复用:将巡检、统计、诊断和修复语句保存为有名称、有分类的代码片段,使用前复制、审阅并按目标数据库调整。
- 批量脚本执行:为初始化、升级或数据修复组织多个
.sql文件,核对顺序、事务与遇错策略后执行;压缩包中的脚本也应先确认文件清单。 - 事后定位:通过时间范围、数据源、状态和 SQL 内容筛选执行历史,结合耗时、行数与错误信息还原操作过程。
不适用:需要分钟级或更长周期趋势、无人值守告警、跨节点关联分析、强制审批或合规留存时,应接入专用监控、告警与审计系统,不要依赖当前页面持续打开。
入口路径
- 从顶部菜单进入工具中心,切换到运维工具分类。
- 打开服务器监控,选择要观察的已保存数据源;页面显示状态概览,并提供进程、慢查询与变量视图。
- 打开SQL 代码片段管理常用语句,可搜索、按分类查看、复制、编辑或删除片段。
- 需要批量执行文件时,进入运维工具中的SQL 脚本执行器;需要回看已执行语句时,从顶部菜单进入执行历史。
不同内测构建中的入口文案可能略有调整。若某项入口不可见,先确认当前构建是否包含该能力以及当前账号是否具备对应数据库权限,不要据此假定服务器端没有数据。
前置条件
- 已创建并验证目标数据库连接,明确当前连接属于开发、测试还是生产环境;执行脚本前再次核对主机、端口、数据库与账号。
- 监控账号至少具备读取所需状态、进程、变量或慢查询信息的权限。不同数据库类型、版本和账号授权会导致指标、列表及操作按钮存在差异。
- 终止会话、查看其他用户进程或读取慢查询通常需要更高权限。生产环境应遵循最小权限原则,并由有授权的操作者确认。
- 脚本已经过人工审阅和测试环境验证;涉及结构变更、批量更新、删除、恢复或不可逆操作时,先完成可恢复备份并验证恢复路径。
- 代码片段中不保存明文密码、Token 或生产敏感值。用注释或占位符标识需要在执行前替换的参数。
高风险操作:
Kill 可能中断事务并触发回滚,批量脚本可能扩大误操作范围。操作前必须确认会话归属、事务影响、目标环境、备份状态和回退方案。编号步骤
- 建立观察基线。选择目标数据源后先保持手动刷新,记录活动连接、最大连接数、运行线程、QPS / TPS、慢查询数、网络流量、缓存命中率与运行时间。间隔一段时间再次刷新,避免根据单个瞬时值下结论。
-
逐层定位异常。从总体指标进入进程列表,按持续时间、状态、用户、主机和 SQL 判断是否存在长时间运行或阻塞迹象;再查看慢查询和服务器变量。若要终止会话,先确认它不是关键事务、备份或迁移任务,并获得必要授权。
服务器监控 · 状态概览与活动进程
服务器监控面板:上方汇总连接、吞吐、慢查询、流量、Buffer Pool 命中率和运行时间,下方进程列表展示用户、主机、数据库、状态与 SQL;Kill 属于需谨慎确认的高风险操作。 -
整理可复用代码片段。按用途使用清晰名称,例如“连接巡检”“订单汇总”“低库存检查”;在 SQL 顶部注明适用数据库、只读或写入属性、参数说明与验证查询。复制片段到工作台后,先检查对象名、条件范围和方言,再执行。
SQL 代码片段 · 分类、预览与复用
SQL 代码片段:左侧按分类筛选,右侧查看片段名称和 SQL 预览,并提供复制、编辑、删除操作;复用前仍需按当前数据源人工审阅。 -
预览并编排脚本。导入
.sql文件或包含脚本的.zip后,先查看文件清单,通过上移、下移确认执行顺序;检查脚本是否幂等、是否包含事务控制,以及是否依赖前序脚本产生的对象或数据。 - 选择执行策略并小范围验证。独立脚本可考虑按文件事务,要求整体一致时评估整体事务,确认可逐条提交时才使用按语句执行;同时选择遇错停止或遇错继续。先在测试环境或缩小数据范围执行,核对预期行数、约束、日志和回滚行为,再处理正式目标。
- 用历史完成复核。执行后进入执行历史,按时间范围、数据源、状态和 SQL 关键字查找记录,核对耗时、影响行数、成功状态或错误信息。复制历史 SQL 再次运行前,必须重新确认目标连接与参数,不能把历史记录等同于可直接重放的变更单。
参数说明
| 参数或视图 | 作用 | 配置与检查建议 |
|---|---|---|
| 数据源 | 决定监控查询和脚本执行的目标实例 | 每次操作前核对连接名称、数据库类型、主机与库名;生产连接应有醒目标识。 |
| 刷新方式 / 频率 | 手动刷新当前快照,或在界面提供时选择自动刷新间隔 | 排障初期优先手动刷新;自动刷新越频繁,监控查询对目标库的额外压力越大。可选频率以当前界面为准。 |
| 状态概览 | 展示连接、线程、QPS / TPS、慢查询、流量、命中率与运行时间等指标 | 关注相对基线和连续变化,不把单次平均值直接当作告警结论;不同数据库可用指标不同。 |
| 进程 / Kill | 查看活动会话,并在支持且有权限时终止指定进程 | 先确认用户、主机、库、状态、持续时间和 SQL;记录进程 ID 与判断依据后再操作。 |
| 脚本顺序 | 决定多个脚本文件的执行先后 | 按依赖关系排序,特别检查建表、数据变更、索引和约束之间的前后关系。 |
| 事务策略 | 可按文件事务、整体事务或按语句执行 | 根据数据库对 DDL 事务的实际支持、脚本规模和回滚成本选择,并先验证失败路径。 |
| 错误策略 | 控制遇到错误时停止或继续 | 升级与修复默认优先遇错停止;只有确认后续语句独立且结果可核验时才考虑继续。 |
| 片段名称 / 分类 | 用于搜索、识别和组织常用 SQL | 名称写明对象和用途,分类按巡检、统计、诊断、修复等职责划分;敏感值使用占位符。 |
| 历史筛选 | 按时间、数据源、状态与 SQL 内容缩小记录范围 | 先限定时间和数据源,再用状态或关键字定位;结合数据库日志进行交叉确认。 |
权限差异:MySQL / PostgreSQL 的监控支持相对更完整,但能看到哪些状态、进程、变量和慢查询,以及能否执行 Kill,最终由数据库类型、版本和当前账号权限共同决定。权限不足时应由管理员按最小范围补充授权,不要直接改用长期持有的超级管理员账号。
预期结果
一次可复核的运维操作应留下清晰结论,而不是只看到“成功”提示:
- 能够说清异常发生在哪个数据源、哪个时间段,以及哪些指标或会话支持该判断。
- 需要处置会话时,已记录会话身份、SQL、持续时间、业务确认和处置结果;未授权时保持只读观察。
- 脚本文件顺序、事务策略、错误策略与目标环境均已确认,执行结果中的成功、失败、耗时和影响范围符合预期。
- 代码片段名称与分类可检索,SQL 不包含敏感凭据,并带有执行前检查信息。
- 可在执行历史中按时间和数据源定位对应记录,并使用数据库日志或业务校验查询交叉验证。
SQL 执行历史 · 筛选与结果复核
告警与长期监控边界:当前服务器监控面板主要提供即时观察,不应假定它具备持久化时序数据、后台常驻采集或无人值守告警能力。调度与自动化仍属规划能力,不能作为现有点击路径使用;持续告警、趋势分析和长期留存应交由已部署的专业系统。
常见问题
为什么同一个实例,不同账号看到的进程或慢查询不一样?
数据库会按账号权限限制状态、进程、变量和慢查询信息。先确认数据库类型、版本与当前账号授权,再让管理员按最小权限补充只读监控能力。不要为了图省事把超级管理员凭据长期保存在客户端。
自动刷新应该设置多快?
没有适合所有实例的固定频率。优先用手动刷新建立基线;确需自动刷新时,从较低频率开始,观察监控查询本身对连接数和负载的影响。高负载或生产实例应降低频率,长周期趋势则交由独立监控系统采集。
看到长时间运行的 SQL,可以直接 Kill 吗?
不可以仅凭耗时判断。先核对用户、主机、数据库、状态、SQL 和事务影响,排除备份、迁移、DDL 或关键批处理任务,并联系业务负责人。获得授权后再终止,同时准备观察回滚耗时和锁释放情况。
脚本执行失败后,为什么不能直接重新执行全部文件?
已提交语句、非事务性 DDL 或“遇错继续”都可能造成部分成功。先从执行明细和历史中确认失败位置,再检查数据库实际对象与数据状态;根据脚本幂等性决定从断点继续、回滚还是使用修复脚本,必要时从已验证备份恢复。
代码片段和执行历史能否作为正式版本管理与审计?
不能替代。代码片段便于检索复用,执行历史便于定位操作,但正式变更脚本仍应进入版本库并经过评审;有合规要求时,应使用数据库审计、集中日志和审批系统完成不可抵赖留存。
MagicDB Studio