我在 OS X 10.7.2 上运行 MAMP Pro,它使用端口 3306 来连接 MYSQL。它一直运行良好,直到今天早上我安装了 WebStart 试用版。后来我不喜欢 Webstart,退出并卸载了它。我现在的问题是 MAMP Pro 无法启动 MYSQL。日志显示:
Check that you do not already have another mysqld process using the same InnoDB data or log files.
我在终端运行了这个:
lsof -i:3306
... 返回结果为:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 3966 _mysql 10u IPv4 0xffffff802505c880 0t0 TCP localhost:mysql (LISTEN)
但是,我不太清楚这意味着什么以及该怎么办。我怀疑 WebStart 为端口 3306 设置了另一个进程。
答案1
3306 上已有一个 MySQL Server Daemon 进程在运行,PID 为 3966。它很可能是卸载不彻底而留下的进程。您可以通过多种方式终止该进程,包括(但不限于):
pkill mysqld
kill -9 3966
您可以通过再次运行 lsof 命令来验证它是否已经消失,或者:
ps -ef | grep mysqld
一旦您确定该过程已经消失,您的 MySQL MAMP 实例就应该能够启动。
答案2
如果你想更盲目地执行此操作,还可以使用以下命令终止端口上运行的所有 pid
fuser -k 3306/tcp