溫馨提示×

Ubuntu MySQL如何監控服務器狀態

小樊
40
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. 實時系統資源占用

  • top/htoptop(默認安裝)或htop(需安裝,sudo apt install htop)可實時顯示系統CPU、內存、進程的資源占用情況,幫助定位MySQL是否因資源不足導致性能下降;
  • iotopsudo apt install iotop可監控磁盤I/O使用情況,識別MySQL的磁盤讀寫瓶頸。

2. 網絡連接監控

使用netstatss命令查看MySQL的端口(默認3306)連接狀態,確認是否有異常連接:

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

輸出會顯示監聽端口、連接狀態(如ESTABLISHED表示已建立連接)。

三、第三方專業監控工具

1. Percona Monitoring and Management (PMM)

PMM是開源的MySQL監控解決方案,提供實時性能指標、查詢分析、告警功能。安裝步驟:

  • 添加Percona倉庫并安裝PMM Agent:
    wget https://repo.percona.com/apt/percona-release_latest_buster_amd64.deb
    sudo apt install ./percona-release_latest_buster_amd64.deb
    sudo apt update
    sudo apt install percona-pmm-mysql
    
  • 配置Agent連接PMM Server(默認本地端口443),訪問http://localhost:8080查看儀表板。

2. Prometheus + Grafana

  • mysqld_exporter:將MySQL指標轉換為Prometheus可采集的格式。安裝后配置mysqld_exporter連接MySQL(需提供.my.cnf配置文件);
  • Prometheus:配置prometheus.yml添加MySQL Exporter作為目標,拉取指標數據;
  • Grafana:添加Prometheus數據源,導入MySQL監控儀表板(如官方的“MySQL Overview”),實現可視化監控。

3. 其他工具

  • Zabbix/Nagios:企業級分布式監控系統,支持MySQL狀態監控(如服務可用性、性能指標),并提供告警功能;
  • mytop:類似top的命令行工具,實時顯示MySQL線程和查詢狀態(sudo apt install mytop);
  • Innotop:專為InnoDB引擎設計的監控工具,查看InnoDB緩沖池、鎖等待等詳細信息(sudo apt install innotop)。

四、日志管理與分析

1. 關鍵日志文件

  • 錯誤日志:記錄MySQL啟動、運行錯誤,路徑為/var/log/mysql/error.log,使用tail -f實時查看:
    sudo tail -f /var/log/mysql/error.log
    
  • 慢查詢日志:記錄執行時間超過閾值的查詢(需開啟slow_query_log和設置long_query_time),路徑為/var/log/mysql/slow.log,使用pt-query-digest分析慢查詢原因。

2. 日志輪轉

通過logrotate自動清理舊日志,避免日志文件過大。默認配置文件位于/etc/logrotate.d/mysql,可根據需求調整保留天數和文件大小。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女