我有一台Docker机器,我希望它能够使用端口3306。但是该端口已在使用中。
我不记得在主机上安装MySQL了,但是这些年来我做了很多愚蠢的事情,所以我很有可能做到了。我运行brew services list
,看是否是冲煮服务阻塞了端口。不。没有列出任何内容。
所以我运行sudo lsof -i tcp:3306
并得到以下信息:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 71046 _mysql 28u IPv6 0xbdab224a8a9b989f 0t0 TCP *:mysql (LISTEN)
确定。很容易杀死,对吧?我运行sudo kill -QUIT 71046
,然后再次运行sudo lsof -i tcp:3306
。现在,有一个不同的进程在同一端口上侦听:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 71207 _mysql 28u IPv6 0xbdab224a8a9ba41f 0t0 TCP *:mysql (LISTEN)
此过程进行了多次,我想重复一遍。尝试运行mysql
或mysqld
会遇到command not found
错误。
所以我的问题:我必须运行什么命令来永久阻止mysqld重新生成无限广告?
(如果您能帮助我摆脱在机器启动时自动启动的设置,则可加分。)
我在上面给出了一条评论,使您找到了答案,但是,这里有更详尽的解释,以使将来的读者受益:
我推断您在MacOS上,因为您提到了brew
。 MacOS很奇怪,因为有多种运行MySQL Server的方法。 Brew是其中之一,但是从MySQL.com的官方下载使用本地软件包安装程序,并创建启动守护程序和“系统偏好设置”窗格来管理启动守护程序。
https://dev.mysql.com/doc/refman/5.7/en/osx-installation-prefpane.html
您可以使用首选项窗格来启动和停止启动守护程序,或启用/禁用其自动启动。