MySQL 服务在 kill -9 后重新出现<用于 MySQL 的 PID>



我在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配置文件,以防止它重新启动(设置一个不存在的用户,也许?)或者你可以直接做akill -15,它被视为预期终止,因此不会导致重新启动。

最新更新