日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Linux 启动/重启/停止 MySQL 数据库的命令

發布時間:2023/12/3 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 启动/重启/停止 MySQL 数据库的命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、啟動 MySQL 數據庫的命令
    • (一)使用命令 service 啟動
    • (二)使用命令 systemctl 啟動
  • 二、停止 MySQL 數據庫的命令
    • (一)使用命令 service 停止
    • (二)使用命令 systemctl 停止
    • (三)使用命令 mysqladmin 停止
  • 三、重啟 MySQL 數據庫的命令
    • (一)使用命令 service 重啟
    • (二)使用命令 systemctl 重啟
  • 四、怎么查看 MySQL 是否啟動
    • (一)通過命令 pgrep 查看
    • (二)通過命令 ps 查看
    • (三)通過命令 cat 查看
    • (四)通過命令 lsof 查看
    • (五)使用命令 netstat 查看
    • (六)使用命令 service 查看數據庫狀態
    • (七)使用命令 systemctl 查看數據庫狀態

一、啟動 MySQL 數據庫的命令

(一)使用命令 service 啟動

[root@htlwk0001host /]# service mysqld start Redirecting to /bin/systemctl start mysqld.service

說明:
可以成功啟動 MySQL 數據庫服務,不過實際是重定向到命令 systemctl 來啟動服務的。

(二)使用命令 systemctl 啟動

[root@htlwk0001host ~]# systemctl start mysqld.service

如果沒有設置相關的環境變量,你可以進入到命令 systemctl 所在目錄后再執行上述的命令語句,或者在命令終端直接輸入命令完整的路徑來執行:

[root@htlwk0001host ~]# /bin/systemctl start mysqld.service

不知道命令所在目錄,你可以使用命令 which 來查詢。

二、停止 MySQL 數據庫的命令

(一)使用命令 service 停止

[root@htlwk0001host /]# service mysqld stop Redirecting to /bin/systemctl stop mysqld.service

說明:
(1)可以成功停止 MySQL 數據庫服務,不過實際是重定向到命令 systemctl 來停止服務的。
(2)如果是 ubuntu 系統,停止數據庫的命令是:service mysql stop

命令 service 在哪里?

[root@htlwk0001host ~]# which service /usr/sbin/service

注意:目錄 /sbin 下的命令只有用戶 root 才有權限使用。

命令 systemctl 在哪里?

[root@htlwk0001host ~]# which systemctl /usr/bin/systemctl

(二)使用命令 systemctl 停止

[root@htlwk0001host ~]# /bin/systemctl stop mysqld.service

若配置了環境變量,則不必帶上完整的路徑,直接輸入命令即可:

[root@htlwk0001host ~]# systemctl stop mysqld.service

(三)使用命令 mysqladmin 停止

使用該命令停止數據庫服務,其實需要登錄數據庫才行,所以需要輸入登錄數據庫的用戶名和密碼,登錄成功后才執行命令選項 shutdown,命令語句如下:

[root@htlwk0001host ~]# mysqladmin -uroot -p shutdown

關于命令 mysqladmin 更多用法請點擊查看

三、重啟 MySQL 數據庫的命令

(一)使用命令 service 重啟

[root@htlwk0001host ~]# service mysqld restart Redirecting to /bin/systemctl restart mysqld.service

說明:
也是重定向到命令 systemctl 來重啟服務的。

(二)使用命令 systemctl 重啟

[root@htlwk0001host home]# /bin/systemctl restart mysqld.service

四、怎么查看 MySQL 是否啟動

(一)通過命令 pgrep 查看

[root@htlwk0001host ~]# pgrep -l mysqld 1060114 mysqld

說明:
命令 grep 是查找系統當前運行的進程,如上所示,可以根據進程名稱找到結果,說明進程 mysqld 正在運行中。

(二)通過命令 ps 查看

[root@htlwk0001host ~]# ps aux | grep mysql mysql 1060114 1.5 4.9 1604076 182836 ? Sl 08:33 0:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid root 1060165 0.0 0.0 12320 972 pts/0 S+ 08:33 0:00 grep --color=auto mysql

說明:
如上所示的查找結果,進程 mysqld 是后臺進程(即守護進程 daemonize),進程狀態是 sl ,表示該進程是一個子進程,且處于休眠狀態,如果 MySQL 沒有啟動是查找不到這個進程的,查找到了就說明數據庫已經啟動了。

查找結果說明:
該進程屬于用戶 mysql,進程 ID 是 1060114,CPU 占用時間百分比 1.5%,內存占用百分比 4.9%,可以使用的虛擬內存大小是 1604076 千字節,進程占用的物流內存是 182836 千字節,進程啟動的時間是 8:33(年月日看系統當前的時間) ,實際使用 CPU 的時間是 0(應該沒有更新吧!)

(三)通過命令 cat 查看

[root@htlwk0001host ~]# cat /proc/1060114/status Name: mysqld # 進程名稱 Umask: 0026 # 用戶權限屏蔽位,實際權限=預設權限-Umask State: S (sleeping) # 進程狀態,可中斷的睡眠狀態 Tgid: 1060114 # 線程組Id,等于Pid Ngid: 0 Pid: 1060114 # 進程Id PPid: 1 # 父進程Id,啟動Pid TracerPid: 0 # 跟蹤進程的Pid Uid: 27 27 27 27 # Uid/Euid/Suid/Fsuid 擁有者Id/有效用戶Id/Suid(Set User ID)/Fsuid(file system user ID) Gid: 27 27 27 27 # Gid/Egid/Sgid/Fsgid 對照Uid來理解 FDSize: 128 # 文件描述符的最大個數 Groups: 27 # 啟動該進程的用戶所屬的組的Id NStgid: 1060114 NSpid: 1060114 NSpgid: 1060113 NSsid: 1060113 VmPeak: 1604620 kB # 表示進程所占用最大虛擬內存大小,即進程所使用的虛擬內存的峰值 VmSize: 1604620 kB # 表示進程當前使用的虛擬內存大小 VmLck: 0 kB # 表示被鎖定的內存大小,即已經鎖住的物理內存的大小(鎖住的物理內存不能交換到硬盤) VmPin: 0 kB VmHWM: 183668 kB # 表示進程所占用物理內存的峰值 VmRSS: 183632 kB # 表示進程當前占用物理內存的大小(與procrank中的RSS) RssAnon: 166396 kB RssFile: 17236 kB RssShmem: 0 kB VmData: 549388 kB # 表示進程占用的數據段的大小 VmStk: 132 kB # 表示進程堆棧段的大小,即進程占用的棧的大小 VmExe: 25480 kB # 表示進程代碼的大小,進程占用的代碼段大小(不包括庫) VmLib: 7596 kB # 表示進程所使用共享庫的大小,進程所加載的動態庫所占用的內存大小(可能與其它進程共享) VmPTE: 696 kB # 表示進程頁表項的大小,進程占用的頁表大小(交換表項數量) VmSwap: 0 kB # 進程所使用的交換區的大小 HugetlbPages: 0 kB # Huge Translation Lookaside Buffer Pages 巨大的快速查找緩沖頁表 CoreDumping: 0 # 核心轉儲數據大小 Threads: 48 # 共享使用該信號描述符的任務的個數 SigQ: 0/14419 # 待處理信號的個數/目前最大可以處理的信號的個數 SigPnd: 0000000000000000 # 屏蔽位,存儲了該線程的待處理信號 ShdPnd: 0000000000000000 # 屏蔽位,存儲了該線程組的待處理信號 SigBlk: 0000000000084007 # 存放被阻塞的信號 SigIgn: 0000000000003000 # 存放被忽略的信號 SigCgt: 00000001800006e8 # 存放被俘獲到的信號 CapInh: 0000000000000000 # 能被當前進程執行的程序的繼承的能力 CapPrm: 0000000000000000 # 進程能夠使用的能力,可以包含CapEff中沒有的能力,這些能力是被進程自己臨時放棄的 CapEff: 0000000000000000 # 是CapPrm的一個子集,進程放棄沒有必要的能力有利于提高安全性 CapBnd: 0000003fffffffff # 是系統的邊界能力,我們無法改變它 CapAmb: 0000000000000000 NoNewPrivs: 0 # 沒有新權限 Seccomp: 0 # seccomp機制用于限制應用程序可以使用的系統調用,增加系統的安全性。 Speculation_Store_Bypass: vulnerable Cpus_allowed: 3 # 可以執行該進程的CPU掩碼集 Cpus_allowed_list: 0-1 # 該進程可以使用CPU的列表,這里是0-1 Mems_allowed: # 更改進程執行時占用的內存有關 Mems_allowed_list: 0 # 進程只是使用了結點0的內存資源 voluntary_ctxt_switches: 94 # 表示進程主動切換的次數 nonvoluntary_ctxt_switches: 194 # 進程被動切換的次數

說明:

  • /proc/ 是一個虛擬的文件系統,是系統內存的映射,該目錄的數據都是存放在內存中,沒有占用任何的硬盤空間,所以通過該目錄可以查找到進程的信息,就已經足夠說明該進程已經啟動了,否則在內存中是無法查找到有關的信息的。

  • Tgid 是指線程組 Id,Tgid=Pid。一個進程就是一個線程組,每個進程的所有線程都有著相同的 Tgid,當程序開始運行時,只有一個主線程,這個主線程的 Tgid 就等于 Pid。而當其他線程被創建的時候,就繼承了主線程的 Tgid。

  • CoreDumping 當程序在運行的過程中出現異常終止或崩潰,系統會將程序當時的狀態記錄下來,保存在一個 Core 文件中,這種機制稱為 Core Dump,又稱“核心轉儲”。Core Dump 機制記錄了程序異常時的內存數據、寄存器狀態以及運行堆棧等信息,開發人員可以使用調試工具分析 Core 文件來快速定位程序異常原因。

  • Ruid 實際用戶 Id,指的是進程執行者是誰。

  • Euid 有效用戶 Id,指進程執行時對文件的訪問權限。

  • Suid 保存設置用戶 Id,作為 Effective User Id 的副本。

  • Fsuid 目前進程的文件系統的用戶識別碼,一般情況下,文件系統的用戶識別碼(fsuid)與有效的用戶識別碼(euid)是相同的。

  • Cpus_allowed 進程可以使用 CPU 的親和性掩碼,因為我們指定為兩塊 CPU,所以這里就是 3,如果該進程指定為4個 CPU (如果有話),這里就是 F(1111)。

  • (四)通過命令 lsof 查看

  • 查看 mysql 進程打開的文件列表:
  • [root@htlwk0001host ~]# lsof -c mysql COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 1064381 mysql cwd DIR 253,1 4096 636744 /var/lib/mysql mysqld 1064381 mysql rtd DIR 253,1 244 128 / mysqld 1064381 mysql txt REG 253,1 251816000 51228705 /usr/sbin/mysqld mysqld 1064381 mysql mem REG 253,1 553480 50342901 /usr/lib64/libpcre2-8.so.0.7.1

    如上所示,如果數據庫已經啟動了,則可以查詢到一堆被打開的文件,否則查詢不到任何文件。

  • 查看數據庫默認端口 3306 的使用情況:
  • [root@htlwk0001host ~]# lsof -i:3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 1050299 root 72u IPv6 19482407 0t0 TCP htlwk0001host:37380->47.114.59.224:mysql (CLOSE_WAIT) java 1050299 root 78u IPv6 19482908 0t0 TCP htlwk0001host:37470->47.114.59.224:mysql (CLOSE_WAIT)

    從上面的查詢結果可以看出,進程 java 已經關閉和 MySQL 服務器的連接,數據庫所在的主機地址是:47.114.59.224,端口名稱:mysql,端口狀態:CLOSE_WAIT。

    數據庫服務器開啟后,查看端口 3306 的使用情況,如下:

    [root@htlwk0001host ~]# lsof -i:3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 1050398 root 72u IPv6 19485111 0t0 TCP htlwk0001host:37978->47.114.59.224:mysql (ESTABLISHED) java 1050398 root 78u IPv6 19482585 0t0 TCP htlwk0001host:37480->47.114.59.224:mysql (CLOSE_WAIT) java 1050398 root 80u IPv6 19485118 0t0 TCP htlwk0001host:37980->47.114.59.224:mysql (ESTABLISHED) java 1050398 root 81u IPv6 19485120 0t0 TCP htlwk0001host:37982->47.114.59.224:mysql (ESTABLISHED) java 1050398 root 82u IPv6 19484462 0t0 TCP htlwk0001host:37984->47.114.59.224:mysql (ESTABLISHED) java 1050398 root 83u IPv6 19484463 0t0 TCP htlwk0001host:37986->47.114.59.224:mysql (ESTABLISHED) java 1050398 root 84u IPv6 19484464 0t0 TCP htlwk0001host:37988->47.114.59.224:mysql (ESTABLISHED) java 1050398 root 85u IPv6 19484465 0t0 TCP htlwk0001host:37990->47.114.59.224:mysql (ESTABLISHED) java 1050398 root 86u IPv6 19484466 0t0 TCP htlwk0001host:37992->47.114.59.224:mysql (ESTABLISHED) java 1050398 root 87u IPv6 19484467 0t0 TCP htlwk0001host:37994->47.114.59.224:mysql (ESTABLISHED) mysqld 1068848 mysql 4u IPv6 19485112 0t0 TCP htlwk0001host:mysql->47.114.59.224:37978 (ESTABLISHED) mysqld 1068848 mysql 26u IPv6 19485094 0t0 TCP *:mysql (LISTEN) mysqld 1068848 mysql 49u IPv6 19485119 0t0 TCP htlwk0001host:mysql->47.114.59.224:37980 (ESTABLISHED) mysqld 1068848 mysql 50u IPv6 19485121 0t0 TCP htlwk0001host:mysql->47.114.59.224:37982 (ESTABLISHED) mysqld 1068848 mysql 51u IPv6 19485122 0t0 TCP htlwk0001host:mysql->47.114.59.224:37984 (ESTABLISHED) mysqld 1068848 mysql 52u IPv6 19485123 0t0 TCP htlwk0001host:mysql->47.114.59.224:37986 (ESTABLISHED) mysqld 1068848 mysql 53u IPv6 19485124 0t0 TCP htlwk0001host:mysql->47.114.59.224:37988 (ESTABLISHED)

    (五)使用命令 netstat 查看

    數據庫啟動后,使用命令 netstat 查看數據庫服務端默認端口 3306 的使用情況:

    [root@htlwk0001host ~]# netstat -an | grep ':3306' tcp6 0 0 :::3306 :::* LISTEN tcp6 0 0 172.19.116.91:3306 47.114.59.224:37978 ESTABLISHED tcp6 0 0 172.19.116.91:37982 47.114.59.224:3306 ESTABLISHED tcp6 0 0 172.19.116.91:3306 47.114.59.224:37990 ESTABLISHED tcp6 0 0 172.19.116.91:37988 47.114.59.224:3306 ESTABLISHED tcp6 0 0 172.19.116.91:3306 47.114.59.224:37992 ESTABLISHED

    從上面的查詢結果看,我們看這條:tcp6 0 0 172.19.116.91:37982 47.114.59.224:3306 ESTABLISHED ,可以得知數據庫服務端與客戶端保持連接狀態。

    數據庫關閉后,我們再使用命令 netstat 查看端口 3306 的使用情況:

    [root@htlwk0001host ~]# netstat -an | grep ':3306' tcp6 0 0 172.19.116.91:3306 47.114.59.224:37978 FIN_WAIT2 tcp6 1 0 172.19.116.91:37982 47.114.59.224:3306 CLOSE_WAIT tcp6 0 0 172.19.116.91:3306 47.114.59.224:37990 FIN_WAIT2 tcp6 1 0 172.19.116.91:37988 47.114.59.224:3306 CLOSE_WAIT tcp6 0 0 172.19.116.91:3306 47.114.59.224:37992 FIN_WAIT2 tcp6 0 0 172.19.116.91:3306 47.114.59.224:38006 FIN_WAIT2 tcp6 0 0 172.19.116.91:3306 47.114.59.224:38004 FIN_WAIT2 tcp6 1 0 172.19.116.91:38008 47.114.59.224:3306 CLOSE_WAIT tcp6 0 0 172.19.116.91:3306 47.114.59.224:37994 FIN_WAIT2 tcp6 0 0 172.19.116.91:3306 47.114.59.224:38010 FIN_WAIT2 tcp6 1 0 172.19.116.91:37984 47.114.59.224:3306 CLOSE_WAIT

    (六)使用命令 service 查看數據庫狀態

    [root@htlwk0001host ~]# service mysqld status Redirecting to /bin/systemctl status mysqld.service ● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since Fri 2021-04-23 16:11:01 CST; 8s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 1069004 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)Process: 1068982 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 1069006 (mysqld)Tasks: 46 (limit: 23070)Memory: 214.2MCGroup: /system.slice/mysqld.service└─1069006 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid4月 23 16:10:59 htlwk0001host systemd[1]: Starting MySQL Server... 4月 23 16:11:01 htlwk0001host systemd[1]: Started MySQL Server.

    從上述的查詢結果可以看到: Active: active (running) since Fri 2021-04-23 16:11:01 CST; 8s ago,active(running),說明數據庫處于運行中的狀態。

    (七)使用命令 systemctl 查看數據庫狀態

    [root@htlwk0001host ~]# /bin/systemctl status mysqld.service

    命令 service 其實就是調命令 systemctl 查詢的,所以命令 systemctl 的查詢結果和命令 service 相同,就不展示了。

    總結

    以上是生活随笔為你收集整理的Linux 启动/重启/停止 MySQL 数据库的命令的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。