ubuntu

Ubuntu MySQL如何监控服务器状态

小樊
47
2025-10-22 16:52:54
栏目: 云计算

Ubuntu系统下监控MySQL服务器状态的常用方法

一、基础命令行工具监控

1. 检查MySQL服务运行状态

使用systemctl命令可快速确认MySQL服务的启动状态及最近日志:

sudo systemctl status mysql

若服务正常运行,输出会显示“Active: active (running)”,并包含服务加载的配置文件路径和启动时间。

2. 快速获取服务器核心状态

通过mysqladmin工具可一键查看MySQL服务器的关键指标(如运行时间、线程数、查询数):

mysqladmin -u root -p status

输入密码后,输出示例:Uptime: 12345 Threads: 5 Questions: 6789 Slow queries: 0 Opens: 1234(分别表示运行时间、当前线程数、总查询数、慢查询数、打开表数量)。

3. 查看详细状态与当前进程

登录MySQL命令行后,使用以下命令获取更全面的服务器状态和活动进程:

# 登录MySQL
mysql -u root -p
# 查看所有状态变量(如连接数、缓冲池命中率)
SHOW STATUS;
# 查看当前所有连接的客户端进程及执行的查询
SHOW PROCESSLIST;

SHOW STATUS可结合LIKE筛选特定指标(如SHOW STATUS LIKE 'Threads_connected';),SHOW PROCESSLIST能识别长时间运行的查询。

二、系统资源监控

1. 实时系统资源占用

2. 网络连接监控

使用netstatss命令查看MySQL的端口(默认3306)连接状态,确认是否有异常连接:

sudo netstat -tuln | grep 3306
# 或
sudo ss -tuln | grep 3306

输出会显示监听端口、连接状态(如ESTABLISHED表示已建立连接)。

三、第三方专业监控工具

1. Percona Monitoring and Management (PMM)

PMM是开源的MySQL监控解决方案,提供实时性能指标、查询分析、告警功能。安装步骤:

2. Prometheus + Grafana

3. 其他工具

四、日志管理与分析

1. 关键日志文件

2. 日志轮转

通过logrotate自动清理旧日志,避免日志文件过大。默认配置文件位于/etc/logrotate.d/mysql,可根据需求调整保留天数和文件大小。

0
看了该问题的人还看了