MySQL MAMP mysql server won’t start. No mysql processes are running错误


<!–

–>

MySQL MAMP mysql server won’t start. No mysql processes are running错误

最近在使用MAMP搭建本地服务器时,遇到了mysql server无法启动的问题。在尝试多种方法之后,终于找到了解决方法,这里分享一下经验。

阅读更多:

问题原因

在MAMP中启动mysql server时,可能会遇到以下两种情况:

(adsbygoogle = window.adsbygoogle || []).push({});

  • 在MAMP中点击“Start Servers”按钮后,mysql server状态一直显示为“Starting”而迟迟无法启动;
  • 在终端中输入命令mysql.server start后,终端没有反应并且没有任何mysql进程运行。

两种情况的原因都可能是因为端口被占用。在我们尝试启动mysql server时,系统会尝试绑定默认的3306端口,但是如果这个端口已经被其他程序占用了,mysql server就无法正常启动。

解决方法

检查端口占用情况

首先,我们需要检查一下当前系统中是否有其他程序正在使用3306端口。可以通过两种方式进行检查:

  • 使用终端命令:在终端中输入sudo lsof -i:3306命令,查看是否输出了占用该端口的进程信息;
  • 使用网络实用工具:打开“网络实用工具”应用,在“端口扫描”功能中输入3306端口,查看是否有进程正在使用该端口。

如果发现有进程正在使用3306端口,则需要使用以下方法进行释放。

停止占用端口的进程

在终端中输入sudo lsof -i:3306命令后,会输出占用该端口的进程信息。例如,输出如下:

COMMAND        PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
mysqld      12345    root   12u  IPv4 0x123456789abcdef      0t0  TCP *:mysql (LISTEN)

可以看到,占用该端口的进程是mysqld,对应的PID是12345。现在我们需要杀掉这个进程,可以使用以下命令进行:

sudo kill -9 12345

这样就可以强制结束该进程。注意,这样做可能会带来一些不可预知的风险,因此需要谨慎操作。

(adsbygoogle = window.adsbygoogle || []).push({});

修改mysql配置文件

如果端口没有被其他进程占用,那么可能是mysql的配置文件被修改了,导致无法启动。因此我们需要检查一下mysql的配置文件,进行相应的修改。

首先,我们需要找到MAMP安装目录下mysql的配置文件。在我的电脑上,该文件位于/Applications/MAMP/Library/bin/my.cnf。可以在终端中使用以下命令进行打开:

open -a TextEdit /Applications/MAMP/Library/bin/my.cnf

打开配置文件后,需要修改以下内容:

[mysqld]
port=3306

将其中的port改为一个没有被占用的端口号,例如port=3307。修改保存后,再启动mysql server即可。

总结

以上就是解决mysql server无法启动的方法。总结一下,无法启动的原因可能是端口被占用或者配置文件被修改,解决方法包括停止占用该端口的进程和修改mysql的配置文件。希望这篇文章能够帮助到遇到类似问题的读者。