Ubuntu系統下監控MySQL服務器狀態的常用方法
使用systemctl
命令可快速確認MySQL服務的啟動狀態及最近日志:
sudo systemctl status mysql
若服務正常運行,輸出會顯示“Active: active (running)”,并包含服務加載的配置文件路徑和啟動時間。
通過mysqladmin
工具可一鍵查看MySQL服務器的關鍵指標(如運行時間、線程數、查詢數):
mysqladmin -u root -p status
輸入密碼后,輸出示例:Uptime: 12345 Threads: 5 Questions: 6789 Slow queries: 0 Opens: 1234
(分別表示運行時間、當前線程數、總查詢數、慢查詢數、打開表數量)。
登錄MySQL命令行后,使用以下命令獲取更全面的服務器狀態和活動進程:
# 登錄MySQL
mysql -u root -p
# 查看所有狀態變量(如連接數、緩沖池命中率)
SHOW STATUS;
# 查看當前所有連接的客戶端進程及執行的查詢
SHOW PROCESSLIST;
SHOW STATUS
可結合LIKE
篩選特定指標(如SHOW STATUS LIKE 'Threads_connected';
),SHOW PROCESSLIST
能識別長時間運行的查詢。
top
(默認安裝)或htop
(需安裝,sudo apt install htop
)可實時顯示系統CPU、內存、進程的資源占用情況,幫助定位MySQL是否因資源不足導致性能下降;sudo apt install iotop
可監控磁盤I/O使用情況,識別MySQL的磁盤讀寫瓶頸。使用netstat
或ss
命令查看MySQL的端口(默認3306)連接狀態,確認是否有異常連接:
sudo netstat -tuln | grep 3306
# 或
sudo ss -tuln | grep 3306
輸出會顯示監聽端口、連接狀態(如ESTABLISHED
表示已建立連接)。
PMM是開源的MySQL監控解決方案,提供實時性能指標、查詢分析、告警功能。安裝步驟:
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
443
),訪問http://localhost:8080
查看儀表板。mysqld_exporter
連接MySQL(需提供.my.cnf
配置文件);prometheus.yml
添加MySQL Exporter作為目標,拉取指標數據;top
的命令行工具,實時顯示MySQL線程和查詢狀態(sudo apt install mytop
);sudo apt install innotop
)。/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
分析慢查詢原因。通過logrotate
自動清理舊日志,避免日志文件過大。默認配置文件位于/etc/logrotate.d/mysql
,可根據需求調整保留天數和文件大小。