【发布时间】:2011-10-05 13:38:48
【问题描述】:
我正在尝试在 MacOSX 10.6 上停止 Mysql v5.1,以便升级到 Mysql v5.5。
我相信我在几个月前从源代码安装了 v5.1。我已经尝试了这里列出的所有方法:How do you stop MySQL on a Mac OS install?。
但是,当我执行“mysqladmin shutdown”时,操作系统似乎只是产生了另一个 mysql 进程:
$ sudo mysqladmin shutdown
$ ps -Af | grep mysql
74 53283 1 0 0:00.01 ?? 0:00.01 /bin/sh /usr/local/mysql/bin/mysqld_safe
74 53324 53283 0 0:00.01 ?? 0:00.03 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --log-error=/usr/local/mysql/var/Al.local.err --pid-file=/usr/local/mysql/var/Al.local.pid
501 53343 52577 0 0:00.00 ttys003 0:00.00 grep mysql
如果我试图终止进程,也会发生同样的事情。 (但是,如果我尝试杀死 mysqld_safe 进程,我会得到“没有这样的进程”)
我查看了 /Library/StartupItems 并没有 MySQL 目录。我知道我没有使用 MacPorts 来安装 Mysql。
我在这里缺少什么?我该如何杀死这只野兽?
【问题讨论】:
-
你的 mysqld_safe 的父 PID 是 1,这意味着它是
init。因此,您的 mysql 正在作为系统启动的一部分启动。我对 OSX 一点也不熟悉,但是在 startupitems 文件夹顶部是否有 /etc/init.d 或类似文件? -
贾斯汀 - 即使是 kill -9 也不会杀死它:$ sudo kill -9 53283 53324 密码:$ ps -Af | grep mysql 74 54610 1 0 0:00.01 ?? 0:00.02 /bin/sh /usr/local/mysql/bin/mysqld_safe 74 54672 54610 0 0:00.08 ?? 0:00.10 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --log-error=/usr/local/mysql/var/ Al.local.err --pid-file=/usr/local/mysql/var/Al.local.pid 501 54674 52577 0 0:00.00 ttys003 0:00.00 grep mysql
-
Marc B - 你提供了提示!事实证明,有一个文件:/Library/LaunchDaemons/com.mysql.mysqld.plist 阻止了 mysql 关闭。一旦我删除它并重新启动mysql就消失了。这篇 stackoverflow 帖子有更多详细信息:stackoverflow.com/questions/5555589/…
-
Marc B - 如果您发布答案,我会检查它。感谢您的敏锐眼光!