在 Linux 上檢查 MySQL/MariaDB 資料庫正常執行時間的三種方法

2020-05-29 21:10:00

我們都知道在 Linux 中使用 uptime 命令的目的。它用於檢查 Linux 系統的正常執行時間以及系統上次啟動以來執行的時間。

而 Linux 管理員的工作是保持系統正常執行。

如果要檢查 Linux 上的其他服務(例如 Apache、MySQL、MariaDB、sftp 等)執行了多長時間,該怎麼做?

每個服務都有自己的命令來檢查服務的正常執行時間。但是你也可以為此使用其他命令。

方法 1:如何使用 ps 命令在 Linux 上檢查 MySQL/MariaDB 資料庫的正常執行時間

ps 命令的意思是進程狀態process status。這是最基本的命令之一,它顯示了系統正在執行的進程的詳細資訊。

為此,你首先需要使用 pidof 命令查詢 MySQL/MariaDB 的 PID。

# pidof mysqld | cut -d" " -f12412

獲取 MySQL/MariaDB 的 PID 後,請在 ps 命令中使用 --etime 選項獲得正常執行時間。

  • --etime:自進程啟動以來經過的時間,形式為 [[DD-]hh:]mm:ss
# ps -p 2412 -o etime   ELAPSED2-08:49:30

或者,在 ps 命令中使用 --lstart 選項來獲取指定 PID 的正常執行時間。

# ps -p 2412 -o lstart                STARTEDSat May 2 03:02:15 2020

MySQL/MariaDB 進程已經執行了 2 天 03 小時 02 分 15 秒。

方法 2:如何使用 systemctl 命令在 Linux 上檢查 MySQL/MariaDB 資料庫的正常執行時間

systemctl 命令用於控制 systemd 系統和服務管理器。

systemd 是新的初始化系統和系統管理器,現在大多數 Linux 發行版都淘汰了傳統的 SysVinit 管理器而採用了 systemd。

# systemctl status mariadb或者# systemctl status mysql● mariadb.service - MariaDB 10.1.44 database server   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor     preset: disabled)  Drop-In: /etc/systemd/system/mariadb.service.d           └─migrated-from-my.cnf-settings.conf   Active: active (running) since Sat 2020-05-02 03:02:18 UTC; 2 days ago     Docs: man:mysqld(8)           https://mariadb.com/kb/en/library/systemd/  Process: 2448 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)  Process: 2388 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=/usr/bin/galera_recovery; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)  Process: 2386 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Main PID: 2412 (mysqld)   Status: "Taking your SQL requests now…"   CGroup: /system.slice/mariadb.service           └─2412 /usr/sbin/mysqldMay 03 21:41:26 ns2.2daygeek.com mysqld[2412]: 2020-05-03 21:41:26 140328136861440 [Warning] Host name '1.1.1.1' could not be resolved: … not knownMay 04 02:00:46 ns2.2daygeek.com mysqld[2412]: 2020-05-04 2:00:46 140328436418304 [Warning] IP address '1.1.1.1' has been resolved to the host name '2…ss itself.May 04 03:01:31 ns2.2daygeek.com mysqld[2412]: 2020-05-04 3:01:31 140328436111104 [Warning] IP address '1.1.1.1' could not be resolved: Temporary fai…resolutionMay 04 04:03:06 ns2.2daygeek.com mysqld[2412]: 2020-05-04 4:03:06 140328136861440 [Warning] IP address '1.1.1.1' could not be resolved: Name or ser… not knownMay 04 07:23:54 ns2.2daygeek.com mysqld[2412]: 2020-05-04 7:23:54 140328435189504 [Warning] IP address '1.1.1.1' could not be resolved: Name or service not knownMay 04 08:03:31 ns2.2daygeek.com mysqld[2412]: 2020-05-04 8:03:31 140328436418304 [Warning] IP address '1.1.1.1' could not be resolved: Name or service not knownMay 04 08:25:56 ns2.2daygeek.com mysqld[2412]: 2020-05-04 8:25:56 140328135325440 [Warning] IP address '1.1.1.1' could not be resolved: Name or service not knownWarning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.Hint: Some lines were ellipsized, use -l to show in full.

方法 3:如何使用 MySQLAdmin 命令在 Linux 上檢查 MySQL/MariaDB 資料庫的正常執行時間

MySQLAdmin 是安裝 MySQL 軟體包時安裝的 MySQL 伺服器命令列程式。

MySQLAdmin 用戶端允許你在 MySQL 伺服器上執行一些基本的管理功能。

它用於建立資料庫、刪除資料庫、設定 root 密碼、更改 root 密碼、檢查 MySQL 狀態、驗證 MySQL 功能、監視 mysql 進程以及驗證伺服器的設定。

# mysqladmin -u root -pPassword versionmysqladmin Ver 8.42 Distrib 5.7.27, for Linux on x86_64Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Server version 5.7.27Protocol version 10Connection Localhost via UNIX socketUNIX socket /var/lib/mysql/mysql.sockUptime: 1 day 10 hours 44 min 13 sec