代码之家  ›  专栏  ›  技术社区  ›  Mayor of the Plattenbaus

在MacOS上杀死mysqld进程的父进程

  •  0
  • Mayor of the Plattenbaus  · 技术社区  · 6 年前

    我有一台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 然后跑 苏多尔索夫-i传输控制协议: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从无限中重生?

    (如果您能帮助我摆脱机器启动时自动启动的设置,我将获得加分。)

    0 回复  |  直到 6 年前
        1
  •  1
  •   Bill Karwin    6 年前

    我在上面给出了一个让你找到答案的评论,但为了让未来的读者受益,这里有一个更完整的解释:

    我猜你上MacOS是因为你提到 brew . MacOS很奇怪,因为有多种方式可以运行MySQL服务器。Brew是其中之一,但是MySQL.com网站使用本机包安装程序,并创建启动守护程序和系统首选项窗格来管理启动守护程序。

    https://dev.mysql.com/doc/refman/5.7/en/osx-installation-prefpane.html