mysql kill -9 后服务重新出现<pid for mysql>

mysql service reappears after kill -9 <pid for mysql>

我在 Ubuntu18.04 上安装了 mysql。我试图用 kill -9 终止 mysql 进程,但它立即返回。这是我的终端输出的示例:

root@mysql-image:~# ps aux | grep mysql
mysql      779  0.8 19.2 1166336 188064 ?      Sl   20:06   0:02 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
root      1046  0.0  0.1  13144  1060 pts/0    S+   20:11   0:00 grep --color=auto mysql
root@mysql-image:~# kill -9 779
root@mysql-image:~# ps aux | grep mysql
mysql     1063 21.5 18.1 1165936 177556 ?      Sl   20:11   0:00 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
root      1094  0.0  0.1  13144  1032 pts/0    S+   20:11   0:00 grep --color=auto mysql
root@mysql-image:~# kill -9 1063
root@mysql-image:~# ps aux | grep mysql
mysql     1142 21.5 18.1 1165936 177628 ?      Sl   20:12   0:00 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
root      1173  0.0  0.1  13144  1084 pts/0    S+   20:12   0:00 grep --color=auto mysql

作为我正在进行的实验的一部分,我正试图以一种突然的方式和“不安全的方式”破坏 mysql 进程。但是 kill -9 似乎并没有永久关闭 mysql 数据库。

我做错了什么?

通常,systemd 将被配置为在意外终止时重新启动 mysql,Restart=on-abort 在 /usr/lib/systemd/system/mysql.service.

on-abort 解释为:https://unix.stackexchange.com/questions/564443/what-does-restart-on-abort-mean-in-a-systemd-service

您可以尝试更改 mysql conf 文件以防止它重新启动(设置 non-existent 用户,也许吧?)。或者你可以做一个 kill -15 相反,它被视为预期的终止,因此不会导致重新启动。