


Welche Befehle gibt es, um den MySQL-Dienst unter Linux zu stoppen?
Linux stoppt die MySQL-Dienstbefehle: 1. Verwenden Sie den Dienstbefehl zum Stoppen. Die Syntax lautet wie „service mysqld stopRedirecting to /bin/systemctl“. 2. Verwenden Sie den Befehl systemctl zum Stoppen. Die Syntax lautet wie „/ bin/systemctl stop mysqld.service“ ;3. Verwenden Sie zum Stoppen den Befehl mysqladmin mit einer Syntax wie „mysqladmin -uroot“.
Linux-Befehl zum Starten/Neustarten/Stoppen der MySQL-Datenbank
1. Befehl zum Starten der MySQL-Datenbank
(1) Verwenden Sie den Befehlsdienst zum Starten
[root@htlwk0001host /]# service mysqld startRedirecting to /bin/systemctl start mysqld.service
Anleitung:
Der MySQL-Datenbankdienst kann gestartet werden erfolgreich, aber in der Praxis Es wird zum Befehl systemctl umgeleitet, um den Dienst zu starten.
(2) Verwenden Sie den Befehl systemctl, um
[root@htlwk0001host ~]# systemctl start mysqld.service
zu starten. Wenn die relevanten Umgebungsvariablen nicht festgelegt sind, können Sie das Verzeichnis eingeben, in dem sich der Befehl systemctl befindet, und dann die obige Befehlsanweisung ausführen oder direkt den vollständigen Pfad eingeben Befehl im Befehlsterminal zum Ausführen:
[root@htlwk0001host ~]# /bin/systemctl start mysqld.service
Ich kenne das Verzeichnis, in dem sich der Befehl befindet, nicht. Sie können den Befehl verwenden, der abgefragt werden soll.
2. Befehl zum Stoppen der MySQL-Datenbank
(1) Verwenden Sie den Befehlsdienst zum Stoppen
[root@htlwk0001host /]# service mysqld stopRedirecting to /bin/systemctl stop mysqld.service
Anweisungen:
(1) Der MySQL-Datenbankdienst kann erfolgreich gestoppt werden, wird jedoch tatsächlich zum Befehl systemctl umgeleitet den Dienst zu stoppen.
(2) Wenn es sich um ein Ubuntu-System handelt, lautet der Befehl zum Stoppen der Datenbank: service mysql stop
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
三、重启 MySQL 数据库的命令
(一)使用命令 service 重启
[root@htlwk0001host ~]# service mysqld restartRedirecting to /bin/systemctl restart mysqld.service
说明:
也是重定向到命令 systemctl 来重启服务的。
(二)使用命令 systemctl 重启
[root@htlwk0001host home]# /bin/systemctl restart mysqld.service
四、怎么查看 MySQL 是否启动
(一)通过命令 pgrep 查看
[root@htlwk0001host ~]# pgrep -l mysqld1060114 mysqld
说明:
命令 grep 是查找系统当前运行的进程,如上所示,可以根据进程名称找到结果,说明进程 mysqld 正在运行中。
(二)通过命令 ps 查看
[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(应该没有更新吧!)
(三)通过命令 cat 查看
[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 的副本。
🎜Wo ist der Befehl service? 🎜🎜Fsuid
🎜Hinweis: Nur der Benutzer root hat die Berechtigung, die Befehle im Verzeichnis /sbin zu verwenden. 🎜🎜🎜Wo ist der Befehl systemctl? 🎜🎜[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
Nach dem Login kopierenNach dem Login kopieren🎜 (2) Verwenden Sie den Befehl systemctl, um 🎜[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)
Nach dem Login kopierenNach dem Login kopieren🎜 zu stoppen. Wenn die Umgebungsvariable konfiguriert ist, müssen Sie nicht den vollständigen Pfad angeben, sondern geben Sie einfach den Befehl direkt ein: 🎜[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)
Nach dem Login kopierenNach dem Login kopieren🎜 (3) Verwenden Sie den Befehl mysqladmin, um stop 🎜🎜Verwenden Sie diesen Befehl, um den Datenbankdienst zu stoppen. Sie müssen daher den Benutzernamen und das Kennwort eingeben, um sich bei der Datenbank anzumelden. Führen Sie nach erfolgreicher Anmeldung die Befehlsoption „shutdown“ aus : 🎜[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
Nach dem Login kopierenNach dem Login kopieren🎜 3. Befehl zum Neustarten der MySQL-Datenbank 🎜🎜 (1) Verwenden Sie den Befehl Service restart🎜[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
Nach dem Login kopierenNach dem Login kopieren🎜🎜Anleitung: 🎜🎜 leitet auch zum Befehl systemctl weiter, um den Dienst neu zu starten. 🎜🎜 (2) Verwenden Sie den Befehl systemctl, um neu zu starten 🎜[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.
Nach dem Login kopierenNach dem Login kopieren🎜 4. So überprüfen Sie, ob MySQL gestartet ist 🎜🎜 (1) Verwenden Sie den Befehl pgrep, um zu überprüfen 🎜rrreee🎜🎜Anleitung: 🎜🎜 Der Befehl grep dient dazu, den aktuellen zu finden Laufende Prozesse des Systems, wie oben gezeigt, Die Ergebnisse können anhand des Prozessnamens gefunden werden, der angibt, dass der Prozess mysqld ausgeführt wird. 🎜🎜 (2) Verwenden Sie den Befehl ps, um 🎜rrreee🎜🎜Anweisungen anzuzeigen: 🎜🎜 Wie in den Suchergebnissen oben gezeigt, ist der Prozess mysqld ein Hintergrundprozess (d. h. daemonize) und der Prozessstatus ist[root@htlwk0001host ~]# /bin/systemctl status mysqld.service
Nach dem Login kopierenNach dem Login kopierensl
zeigt an, dass der Prozess ein untergeordneter Prozess ist und sich in einem Ruhezustand befindet. Wenn MySQL nicht gestartet wird, kann dieser Prozess nicht gefunden werden. Dies bedeutet, dass die Datenbank gestartet wurde. 🎜🎜🎜Erklärung der Suchergebnisse: 🎜🎜 Der Prozess gehört dem Benutzer mysql, die Prozess-ID ist 1060114, der Prozentsatz der CPU-belegten Zeit beträgt 1,5 %, der Prozentsatz der belegten Speicher beträgt 4,9 %, die nutzbare Größe des virtuellen Speichers beträgt 1604076 Kilobyte und Der vom Prozess belegte Logistikspeicher beträgt 182836 Kilobyte. Die Startzeit des Prozesses beträgt 8:33 (siehe aktuelle Systemzeit für Jahr, Monat und Tag) und die tatsächliche CPU-Nutzungszeit beträgt 0 (sollte nicht aktualisiert werden!). ) 🎜🎜 (3) Durch den Cat-Befehl anzeigen 🎜rrreee 🎜🎜Erklärung: 🎜🎜- 🎜
/proc/
ist ein virtuelles Dateisystem und eine Zuordnung des Systemspeichers. Es wird im Speicher gespeichert und belegt keinen Festplattenspeicher. Wenn Sie die Prozessinformationen über dieses Verzeichnis finden, reicht es daher aus, anzugeben, dass der Prozess vorhanden ist Andernfalls können die relevanten Informationen nicht im Speicher gefunden werden. 🎜 - 🎜
Tgid
bezieht sich auf die Thread-Gruppen-ID, Tgid=Pid. Ein Prozess ist eine Thread-Gruppe, und alle Threads jedes Prozesses haben dieselbe Tgid. Wenn das Programm ausgeführt wird, gibt es nur einen Hauptthread und die Tgid dieses Hauptthreads ist gleich Pid. Wenn andere Threads erstellt werden, erben sie die Tgid des Hauptthreads. 🎜 - 🎜
CoreDumping
Wenn das Programm abnormal beendet wird oder während der Ausführung abstürzt, zeichnet das System den aktuellen Status des Programms auf und speichert ihn in einer Core-Datei. Dieser Mechanismus wird Core genannt Dump, auch „Core Dump“ genannt. Der Core Dump-Mechanismus zeichnet Informationen wie Speicherdaten, Registerstatus und laufenden Stack auf, wenn ein Programm abnormal ist. Entwickler können Debugging-Tools verwenden, um Core-Dateien zu analysieren und die Ursache von Programmausnahmen schnell zu lokalisieren. 🎜 - 🎜
Ruid
Die tatsächliche Benutzer-ID bezieht sich darauf, wer der Ausführende des Prozesses ist. 🎜 - 🎜
Euid
Effektive Benutzer-ID, die sich auf die Zugriffsberechtigung auf die Datei bezieht, wenn der Prozess ausgeführt wird. 🎜 - 🎜
Suid
Speichert die eingestellte Benutzer-ID als Kopie der effektiven Benutzer-ID. 🎜 - 🎜
Fsuid
Der Benutzeridentifikationscode des Dateisystems des aktuellen Prozesses Im Allgemeinen der Benutzeridentifikationscode (fsuid) des Dateisystems und der effektive Benutzeridentifikationscode (. euid) sind gleich. 🎜 Cpus_allowed
进程可以使用 CPU 的亲和性掩码,因为我们指定为两块 CPU,所以这里就是 3,如果该进程指定为4个 CPU (如果有话),这里就是 F(1111)。
(四)通过命令 lsof 查看
查看 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
Nach dem Login kopierenNach dem Login kopieren如上所示,如果数据库已经启动了,则可以查询到一堆被打开的文件,否则查询不到任何文件。
查看数据库默认端口 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)
Nach dem Login kopierenNach dem Login kopieren从上面的查询结果可以看出,进程 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)
Nach dem Login kopierenNach dem Login kopieren(五)使用命令 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
Nach dem Login kopierenNach dem Login kopieren从上面的查询结果看,我们看这条:
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
Nach dem Login kopierenNach dem Login kopieren(六)使用命令 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.
Nach dem Login kopierenNach dem Login kopieren从上述的查询结果可以看到:
Active: active (running) since Fri 2021-04-23 16:11:01 CST; 8s ago
,active(running)
,说明数据库处于运行中的状态。(七)使用命令 systemctl 查看数据库状态
[root@htlwk0001host ~]# /bin/systemctl status mysqld.service
Nach dem Login kopierenNach dem Login kopieren命令
service
其实就是调命令systemctl
查询的,所以命令systemctl
的查询结果和命令service
相同,就不展示了。Das obige ist der detaillierte Inhalt vonWelche Befehle gibt es, um den MySQL-Dienst unter Linux zu stoppen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
- 🎜

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Der MySQL -Primärschlüssel kann nicht leer sein, da der Primärschlüssel ein Schlüsselattribut ist, das jede Zeile in der Datenbank eindeutig identifiziert. Wenn der Primärschlüssel leer sein kann, kann der Datensatz nicht eindeutig identifiziert werden, was zu Datenverwirrung führt. Wenn Sie selbstsinkrementelle Ganzzahlsspalten oder UUIDs als Primärschlüssel verwenden, sollten Sie Faktoren wie Effizienz und Raumbelegung berücksichtigen und eine geeignete Lösung auswählen.

MySQL kann JSON -Daten zurückgeben. Die JSON_EXTRACT -Funktion extrahiert Feldwerte. Über komplexe Abfragen sollten Sie die Where -Klausel verwenden, um JSON -Daten zu filtern, aber auf die Leistungsauswirkungen achten. Die Unterstützung von MySQL für JSON nimmt ständig zu, und es wird empfohlen, auf die neuesten Versionen und Funktionen zu achten.

MySQL kann nicht direkt auf Android ausgeführt werden, kann jedoch indirekt mit den folgenden Methoden implementiert werden: Die Verwendung der Leichtgewichtsdatenbank SQLite, die auf dem Android -System basiert, benötigt keinen separaten Server und verfügt über eine kleine Ressourcennutzung, die für Anwendungen für Mobilgeräte sehr geeignet ist. Stellen Sie sich remote eine Verbindung zum MySQL -Server her und stellen Sie über das Netzwerk zum Lesen und Schreiben von Daten über das Netzwerk eine Verbindung zur MySQL -Datenbank auf dem Remote -Server her. Es gibt jedoch Nachteile wie starke Netzwerkabhängigkeiten, Sicherheitsprobleme und Serverkosten.

1. Verwenden Sie den richtigen Index, um das Abrufen von Daten zu beschleunigen, indem die Menge der skanierten Datenmenge ausgewählt wird. Wenn Sie mehrmals eine Spalte einer Tabelle nachschlagen, erstellen Sie einen Index für diese Spalte. Wenn Sie oder Ihre App Daten aus mehreren Spalten gemäß den Kriterien benötigen, erstellen Sie einen zusammengesetzten Index 2. Vermeiden Sie aus. Auswählen * Nur die erforderlichen Spalten. Wenn Sie alle unerwünschten Spalten auswählen, konsumiert dies nur mehr Serverspeicher und veranlasst den Server bei hoher Last oder Frequenzzeiten, beispielsweise die Auswahl Ihrer Tabelle, wie beispielsweise die Spalten wie innovata und updated_at und Zeitsteuer und dann zu entfernen.

MySQL kann mehrere gleichzeitige Verbindungen verarbeiten und Multi-Threading-/Multi-Processings verwenden, um jeder Client-Anfrage unabhängige Ausführungsumgebungen zuzuweisen, um sicherzustellen, dass sie nicht gestört werden. Die Anzahl der gleichzeitigen Verbindungen wird jedoch von Systemressourcen, MySQL -Konfiguration, Abfrageleistung, Speicher -Engine und Netzwerkumgebung beeinflusst. Die Optimierung erfordert die Berücksichtigung vieler Faktoren wie Codeebene (Schreiben effizienter SQL), Konfigurationsstufe (Anpassung von max_connections), Hardwareebene (Verbesserung der Serverkonfiguration).

MySQL hat eine kostenlose Community -Version und eine kostenpflichtige Enterprise -Version. Die Community -Version kann kostenlos verwendet und geändert werden, die Unterstützung ist jedoch begrenzt und für Anwendungen mit geringen Stabilitätsanforderungen und starken technischen Funktionen geeignet. Die Enterprise Edition bietet umfassende kommerzielle Unterstützung für Anwendungen, die eine stabile, zuverlässige Hochleistungsdatenbank erfordern und bereit sind, Unterstützung zu bezahlen. Zu den Faktoren, die bei der Auswahl einer Version berücksichtigt werden, gehören Kritikalität, Budgetierung und technische Fähigkeiten von Anwendungen. Es gibt keine perfekte Option, nur die am besten geeignete Option, und Sie müssen die spezifische Situation sorgfältig auswählen.

Die MySQL-Datenbankleistung Optimierungshandbuch In ressourcenintensiven Anwendungen spielt die MySQL-Datenbank eine entscheidende Rolle und ist für die Verwaltung massiver Transaktionen verantwortlich. Mit der Erweiterung der Anwendung werden jedoch die Datenbankleistung Engpässe häufig zu einer Einschränkung. In diesem Artikel werden eine Reihe effektiver Strategien zur Leistungsoptimierung von MySQL -Leistung untersucht, um sicherzustellen, dass Ihre Anwendung unter hohen Lasten effizient und reaktionsschnell bleibt. Wir werden tatsächliche Fälle kombinieren, um eingehende Schlüsseltechnologien wie Indexierung, Abfrageoptimierung, Datenbankdesign und Caching zu erklären. 1. Das Design der Datenbankarchitektur und die optimierte Datenbankarchitektur sind der Eckpfeiler der MySQL -Leistungsoptimierung. Hier sind einige Kernprinzipien: Die Auswahl des richtigen Datentyps und die Auswahl des kleinsten Datentyps, der den Anforderungen entspricht, kann nicht nur Speicherplatz speichern, sondern auch die Datenverarbeitungsgeschwindigkeit verbessern.

Die Hauptgründe, warum Sie sich bei MySQL nicht als Root anmelden können, sind Berechtigungsprobleme, Konfigurationsdateifehler, Kennwort inkonsistent, Socket -Dateiprobleme oder Firewall -Interception. Die Lösung umfasst: Überprüfen Sie, ob der Parameter Bind-Address in der Konfigurationsdatei korrekt konfiguriert ist. Überprüfen Sie, ob die Root -Benutzerberechtigungen geändert oder gelöscht und zurückgesetzt wurden. Stellen Sie sicher, dass das Passwort korrekt ist, einschließlich Fall- und Sonderzeichen. Überprüfen Sie die Einstellungen und Pfade der Socket -Dateiberechtigte. Überprüfen Sie, ob die Firewall Verbindungen zum MySQL -Server blockiert.
