<!–
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的配置文件。希望这篇文章能够帮助到遇到类似问题的读者。