首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 啟動時間與運行時長查看:Uptime、ps、phpMyAdmin 三法合一

     編輯:MySQL 綜合教學

前言

確認 MySQL 啟動時間、運行時長,是排查意外重啟、升級窗口、故障時間線的基礎動作。本文整理三種查看方式:SQL 標準查詢、Linux 進程啟動時間、phpMyAdmin 視覺化介面,並提供換算公式與自動化建議。

方法一:SHOW GLOBAL STATUS LIKE 'Uptime'(標準、可自動化)


mysql> SHOW GLOBAL STATUS LIKE 'Uptime';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Uptime        | 3661  |
+---------------+-------+

Value = 運行秒數。換算:

  • 3661 秒 = 1 小時 1 分 1 秒
  • 86400 秒 = 1 天
  • 604800 秒 = 7 天

反推啟動時間:


SELECT FROM_UNIXTIME(UNIX_TIMESTAMP() - @@global.uptime) AS start_time;
-- 或高精度
SELECT DATE_SUB(NOW(6), INTERVAL @@global.uptime SECOND) AS start_time;

方法二:Linux ps 命令查看進程啟動時間(不依賴 MySQL 服務)


# 簡易版(顯示日期)
ps aux | grep mysqld
# mysql   12345  0.5  12.3  ...  Oct15  12:34 /usr/sbin/mysqld ...

# 完整啟動時間
ps -eo pid,lstart,cmd | grep mysqld
# 12345 Sun Oct 15 08:30:12 2023 /usr/sbin/mysqld ...

優勢:即使 MySQL 掛了、無法登入,也能查到最後啟動時間;可見系統層面重啟(如 OOM Killer、系統重啟)。

方法三:phpMyAdmin 狀態頁(視覺化、非技術友好)

登入 phpMyAdmin → 首頁/狀態標籤 → 顯示:

這台 MySQL 服務器已經運行了 0 天 6 小時 30 分 16 秒,啟動時間為 2014 年 01 月 02 日 08:39。

三法對比與選型建議

方法精確度自動化依賴適用場景
SHOW GLOBAL STATUS秒級✅ 極佳(Prometheus/Zabbix/腳本)DB 連線監控、日常巡檢、故障時間線
ps 命令秒級(進程)✅ 佳(SSH/Ansible)系統登入服務異常、排查系統重啟、無 DB 連線時
phpMyAdmin秒級❌Web 介面臨時查看、非技術人員、無 SSH 權限

延伸:Performance Schema 事件時間線

MySQL 5.7+ performance_schema 記錄服務啟動各階段耗時:


SELECT EVENT_NAME, TIMER_START, TIMER_END, TIMER_WAIT
FROM performance_schema.events_stages_history_long
WHERE NESTING_EVENT_ID IS NULL
ORDER BY TIMER_START;

可見「初始化儲存引擎、載入插件、開啟端口、啟動複制線程」等詳細啟動流程耗時。

總結

**日常運維用 SHOW GLOBAL STATUS LIKE 'Uptime' 接入監控體系**;故障現場無 DB 連線時用 ps -eo pid,lstart,cmd | grep mysqld;臨時人工查看用 phpMyAdmin。三者互補,構建完整的「啟動時間可觀測性」。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved