Rumah  >  Artikel  >  pangkalan data  >  Apakah arahan untuk menghentikan perkhidmatan mysql dalam linux?

Apakah arahan untuk menghentikan perkhidmatan mysql dalam linux?

藏色散人
藏色散人asal
2023-02-13 09:39:046905semak imbas

Arahan perkhidmatan mysql stop Linux ialah: 1. Gunakan arahan perkhidmatan untuk berhenti, dengan sintaks seperti "servis mysqld stopRedirecting to /bin/systemctl" 2. Gunakan perintah systemctl untuk berhenti, dengan sintaks seperti "/bin/systemctl stop mysqld. service"; 3. Gunakan arahan mysqladmin untuk berhenti, dengan sintaks seperti "mysqladmin -uroot".

Apakah arahan untuk menghentikan perkhidmatan mysql dalam linux?

Persekitaran pengendalian tutorial ini: sistem linux5.9.8 , versi mysql5 .5, komputer Dell G3.

Apakah arahan untuk menghentikan perkhidmatan mysql di Linux?

Arahan Linux untuk memulakan/mulakan semula/menghentikan pangkalan data MySQL

Arahan untuk memulakan pangkalan data MySQL

(1) Gunakan perkhidmatan arahan untuk memulakan

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

Nota:
boleh berjaya memulakan perkhidmatan pangkalan data MySQL, tetapi ia sebenarnya mengubah hala ke arahan systemctl untuk memulakan perkhidmatan.

(2) Gunakan command systemctl untuk memulakan

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

Jika pembolehubah persekitaran yang berkaitan tidak ditetapkan, anda boleh memasuki direktori di mana command systemctl terletak dan kemudian laksanakan penyataan di atas, atau masukkan terus laluan lengkap arahan dalam terminal arahan untuk melaksanakan:

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

Jika anda tidak tahu direktori di mana arahan itu terletak, anda boleh gunakan arahan yang hendak ditanya.

2 Perintah untuk menghentikan pangkalan data MySQL

(1) Gunakan perkhidmatan arahan untuk menghentikan

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

<.> Nota: (1) Perkhidmatan pangkalan data MySQL boleh dihentikan dengan jayanya, tetapi ia sebenarnya dialihkan ke command systemctl untuk menghentikan perkhidmatan.
(2) Jika ia adalah sistem ubuntu, arahan untuk menghentikan pangkalan data ialah:
service mysql stop

Di manakah perkhidmatan arahan?

[root@htlwk0001host ~]# which service
/usr/sbin/service
Nota: Hanya akar pengguna mempunyai kebenaran untuk menggunakan arahan dalam direktori /sbin.

Di manakah command systemctl?

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

(2) Gunakan command systemctl untuk berhenti

[root@htlwk0001host ~]# /bin/systemctl stop mysqld.service
Jika pembolehubah persekitaran dikonfigurasikan, anda tidak perlu membawa yang lengkap laluan, masukkan terus Hanya gunakan arahan:

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

(3) Gunakan arahan mysqladmin untuk berhenti

Gunakan arahan ini untuk menghentikan perkhidmatan pangkalan data Dalam sebenarnya, anda perlu log masuk ke pangkalan data, jadi anda perlu memasukkan log masuk Nama pengguna dan kata laluan pangkalan data, jalankan penutupan pilihan arahan selepas log masuk berjaya Penyataan arahan adalah seperti berikut:

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

3. Perintah untuk memulakan semula pangkalan data MySQL

(1) Gunakan perkhidmatan arahan untuk memulakan semula

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

Nota : juga mengubah hala ke command systemctl untuk memulakan semula perkhidmatan.

(2) Gunakan command systemctl untuk memulakan semula

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

4. Bagaimana untuk menyemak sama ada MySQL dimulakan

(1) Gunakan perintah pgrep untuk melihat

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

Penjelasan: Perintah grep adalah untuk mencari proses yang sedang berjalan pada sistem. Seperti yang ditunjukkan di atas, anda boleh mencari keputusan berdasarkan nama proses , menunjukkan bahawa proses mysqld sedang berjalan.

(2) Gunakan arahan ps untuk melihat

[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

Penjelasan: Seperti yang ditunjukkan di atas, proses mysqld ialah latar belakang Proses (iaitu, daemonize), status proses adalah
, yang bermaksud bahawa proses itu adalah proses anak dan berada dalam keadaan tidak aktif Jika MySQL belum dimulakan, proses ini tidak dapat ditemui , ini bermakna pangkalan data telah dimulakan. sl

Penjelasan hasil carian: Proses kepunyaan mysql pengguna, ID proses ialah 1060114, peratusan masa yang diduduki CPU ialah 1.5%, peratusan yang diduduki memori ialah 4.9% , dan saiz memori maya yang tersedia ialah 1604076 kilobait, memori logistik yang diduduki oleh proses ialah 182836 kilobait, masa permulaan proses ialah 8:33 (lihat masa sistem semasa untuk tahun, bulan, hari), dan masa penggunaan CPU sebenar ialah 0 (ia tidak sepatutnya dikemas kini!)

(3) Gunakan arahan kucing untuk melihat

[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			# 进程被动切换的次数

Arahan:

  • Ia adalah sistem fail maya dan pemetaan memori sistem Data dalam direktori ini disimpan dalam memori dan tidak menduduki sebarang ruang cakera keras maklumat boleh didapati melalui direktori ini, yang cukup untuk menunjukkan bahawa proses telah dimulakan Jika tidak, maklumat yang berkaitan tidak boleh ditemui dalam ingatan. /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 查看

  1. 查看 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

如上所示,如果数据库已经启动了,则可以查询到一堆被打开的文件,否则查询不到任何文件。

  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 查看

数据库启动后,使用命令 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 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 agoactive(running),说明数据库处于运行中的状态。

(七)使用命令 systemctl 查看数据库状态

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

命令 service 其实就是调命令 systemctl 查询的,所以命令 systemctl 的查询结果和命令 service 相同,就不展示了。

推荐学习:《MySQL视频教程

Atas ialah kandungan terperinci Apakah arahan untuk menghentikan perkhidmatan mysql dalam linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn