MySQL进程不能停止(mysql process cannot be stopped)

2019-08-05 15:22发布

我最近安装5.5.28-29.2的Percona服务器(GPL),在Ubuntu的12.04 OS桌面版本29.2。 我曾尝试用不同的方法来停止服务器:

- sudo /etc/init.d/mysql stop
- sudo kill -9 pid
- mysqladmin -u root -p shutdown

所有这些方法停止该过程,但它会自动启动,它死后。 我已经检查系统日志(在/ var / log / syslog的/),总是让我看到一个跟踪:

Jan  4 17:50:44 kernel: [ 1915.494219] init: mysql main process (17311) killed by KILL signal
Jan  4 17:50:44 kernel: [ 1915.494245] init: mysql main process ended, respawning
Jan  4 17:50:44 kernel: [ 1915.500025] type=1400 audit(1357318244.557:48): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=18458 comm="apparmor_parser"
Jan  4 17:50:46 /etc/mysql/debian-start[18501]: Upgrading MySQL tables if necessary.
Jan  4 17:50:46 /etc/mysql/debian-start[18504]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored
Jan  4 17:50:46 /etc/mysql/debian-start[18504]: Looking for 'mysql' as: /usr/bin/mysql
Jan  4 17:50:46 /etc/mysql/debian-start[18504]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Jan  4 17:50:46 /etc/mysql/debian-start[18504]: This installation of MySQL is already upgraded to 5.5.28, use --force if you still need to run mysql_upgrade
Jan  4 17:50:46 /etc/mysql/debian-start[18515]: Checking for insecure root accounts.
Jan  4 17:50:46 /etc/mysql/debian-start[18520]: Triggering myisam-recover for all MyISAM tables

你知道为什么进程会自动重新启动的原因是什么? 先感谢您!!

Answer 1:

我在此完全相同的问题。 运行kill命令将终止该进程,但在我的情况下,它会继续以不同的进程ID再次弹出。

我能想出如何阻止它的好是唯一的方法:

sudo stop mysql

希望帮助。

来源: http://www.itfromscratch.com/how-to-stop-the-percona-mysql-server/



Answer 2:

使用sudo service mysql stop为我工作。



Answer 3:

要杀死所有的MySQL实例? 尝试以root身份:

 pkill mysqld;


Answer 4:

我使用的是Mac OS家酿。 brew services stop mysql没有为我工作,但sudo brew services stop mysql一样。



Answer 5:

我要在这里猜测,但可能mysqld的经由mysql_safe初始化脚本,这将重新启动服务器来启动。



Answer 6:

对于那些希望在这几年以后,其实我也有类似的问题,只是解决了它。

似乎有在在/ etc / init目录与mysql.conf文件一起存在第二初始化脚本调用orig_mysql.conf。 这导致新贵启动两个实例,显然,当一个人结束了它弄糊涂了。 作为这种连续重生发生。

我的解决方案:

  1. 通过新贵如果停止MySQL的可能: service mysql stop
  2. 除去conf文件(我删除/etc/init/orig_mysql.conf)之一。 然后重新启动init已使用: telinit u
  3. 手动杀死任何残余的mysqld进程。

一旦你确认你没有mysqld的进程在运行,他们并不重生不再,与重启MySQL service mysql start

希望这可以帮助别人。 我花了两年的时间解决这个问题。



Answer 7:

这可能并不适用于这个特定的问题,但在这里不言而喻反正。 我检查错误日志(“/var/log/mysql/error.log”),看到“explicit_defaults_for_timestamp = TRUE”是导致错误(“未知变量”)。 所以我删除它从my.cnf文件(“/etc/mysql/my.cnf”),并运行“命令启动MySQL”,这是备份和运行。 我希望这有助于以及!



文章来源: mysql process cannot be stopped