如何在 Linux 中终止 mysql (Percona Xtradb Cluster) 服务?

如何在 Linux 中终止 mysql (Percona Xtradb Cluster) 服务?

我无法完全终止 CentOS 7 上的 mysql 服务。我尝试查找所有 PID:

ps -ef | grep 'mysql'

然后用kill -9 ...

但mysql在一段时间后重新创建。

我也尝试像这样杀死它:

killall -KILL mysql mysqld_safe mysqld

效果一样。几秒钟后 mysql 重新加入。

为什么会发生这种情况?

编辑:

# ps aux | grep mysql
root     15284  0.0  0.3 115384  1804 ?        Ss   12:10   0:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr  --wsrep-new-cluster 
mysql    15743  0.1 40.3 1353412 202276 ?      Sl   12:10   0:03 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --wsrep-provider=/usr/lib64/galera3/libgalera_smm.so --wsrep-new-cluster --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock --wsrep_start_position=43de3d74-bca8-11e6-a178-57b39b925285:9                                                                                                                         
root     16303  0.0  0.1 112648   976 pts/0    R+   12:56   0:00 grep --color=auto mysql

我正在使用 mysql fork(Percona Xtradb Cluster),如果节点从集群中分区,它就无法停止。只有当我禁用 mysql 服务并重新启动节点时才能停止它。但对我来说,在不重新启动节点的情况下终止该进程要好得多。所以

systemctl stop mysql

不起作用。它试图阻止它,但没有成功。

我已经通过 yum 从 Percona 存储库安装了它:

yum install Percona-XtraDB-Cluster-57

接下来的情况是:
有 3 个节点崩溃了。一段时间后,只有 2 个节点可以启动。但他们正在等待第三个节点。它们有状态:激活。如果我尝试停止 mysql 服务,它会将其状态更改为:停用。但这无法阻止。因此,我尝试终止 mysql 服务并从 2 个节点配置一个新集群。但我无法在不重新启动的情况下停止 mysql(重新启动对我来说不是一个解决方案)。

答案1

如果 MySQL 以 respawn 开头,您可以检查“/etc/inittab”条目吗?如果是,那么你可以注释掉“/etc/inittab”中的行尝试使用
kill -HUP PID of MYSQL来杀死mysql

答案2

我已经找到它重启的原因了。

在服务文件中/usr/lib/systemd/system/mysql.service启用了重新启动:

Restart=always

我评论了它:

#Restart=always

机器重新启动后,我可以按如下方式终止 mysql 进程:

killall -KILL mysql mysqld_safe mysqld

相关内容