您好,登錄后才能下訂單哦!
這篇“linux停止mysql服務命令有哪些”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“linux停止mysql服務命令有哪些”文章吧。
linux停止mysql服務命令有:1、使用命令service停止,語法如“service mysqld stopRedirecting to /bin/systemctl”;2、使用命令systemctl停止,語法如“/bin/systemctl stop mysqld.service”;3、使用命令mysqladmin停止,語法如“mysqladmin -uroot”。
Linux 啟動/重啟/停止 MySQL 數據庫的命令
[root@htlwk0001host /]# service mysqld startRedirecting to /bin/systemctl start mysqld.service
說明:
可以成功啟動 MySQL 數據庫服務,不過實際是重定向到命令 systemctl 來啟動服務的。
[root@htlwk0001host ~]# systemctl start mysqld.service
如果沒有設置相關的環境變量,你可以進入到命令 systemctl 所在目錄后再執行上述的命令語句,或者在命令終端直接輸入命令完整的路徑來執行:
[root@htlwk0001host ~]# /bin/systemctl start mysqld.service
不知道命令所在目錄,你可以使用命令 which 來查詢。
[root@htlwk0001host /]# service mysqld stopRedirecting 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
[root@htlwk0001host ~]# /bin/systemctl stop mysqld.service
若配置了環境變量,則不必帶上完整的路徑,直接輸入命令即可:
[root@htlwk0001host ~]# systemctl stop mysqld.service
使用該命令停止數據庫服務,其實需要登錄數據庫才行,所以需要輸入登錄數據庫的用戶名和密碼,登錄成功后才執行命令選項 shutdown,命令語句如下:
[root@htlwk0001host ~]# mysqladmin -uroot -p shutdown
[root@htlwk0001host ~]# service mysqld restartRedirecting to /bin/systemctl restart mysqld.service
說明:
也是重定向到命令 systemctl 來重啟服務的。
[root@htlwk0001host home]# /bin/systemctl restart mysqld.service
[root@htlwk0001host ~]# pgrep -l mysqld1060114 mysqld
說明:
命令 grep 是查找系統當前運行的進程,如上所示,可以根據進程名稱找到結果,說明進程 mysqld 正在運行中。
[root@htlwk0001host ~]# ps aux | grep mysqlmysql 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(應該沒有更新吧!)
[root@htlwk0001host ~]# cat /proc/1060114/statusName: mysqld # 進程名稱Umask: 0026 # 用戶權限屏蔽位,實際權限=預設權限-Umask State: S (sleeping) # 進程狀態,可中斷的睡眠狀態Tgid: 1060114 # 線程組Id,等于Pid Ngid: 0
Pid: 1060114 # 進程IdPPid: 1 # 父進程Id,啟動PidTracerPid: 0 # 跟蹤進程的PidUid: 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 # 啟動該進程的用戶所屬的組的IdNStgid: 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-1Mems_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)。
查看 mysql 進程打開的文件列表:
[root@htlwk0001host ~]# lsof -c mysqlCOMMAND 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:3306COMMAND 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:3306COMMAND 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 查看數據庫服務端默認端口 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
[root@htlwk0001host ~]# service mysqld statusRedirecting to /bin/systemctl status mysqld.service
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2021-04-23 16:11:01 CST; 8s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 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.2M
CGroup: /system.slice/mysqld.service
└─1069006 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
4月 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)
,說明數據庫處于運行中的狀態。
[root@htlwk0001host ~]# /bin/systemctl status mysqld.service
命令 service
其實就是調命令 systemctl
查詢的,所以命令 systemctl
的查詢結果和命令 service
相同,就不展示了。
以上就是關于“linux停止mysql服務命令有哪些”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。