我在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数据库。
我做错了什么?
发布于 2022-05-30 21:52:39
通常,如果mysql意外终止,systemd将被配置为重新启动mysql,Restart=on-abort位于/usr/lib/systemd/system/mysql.service中。
在https://unix.stackexchange.com/questions/564443/what-does-restart-on-abort-mean-in-a-systemd-service中解释了on
您可以尝试更改mysql文件,以防止其重新启动(设置一个不存在的用户,可能?)。或者您只需执行一个kill -15,这将被视为一个预期的终止,因此不会导致重新启动。
https://stackoverflow.com/questions/72439627
复制相似问题