【BREW】brew mysql 无法连接问题

本文记录了一次由于MySQL服务状态异常导致的本地项目无法启动的问题。在排查过程中,发现通过brew安装的MySQL服务状态为黄色的'已启动',意味着服务可能存在故障。尝试重启服务和电脑未果后,通过Google搜索找到解决方案,涉及服务的卸载、清理、升级brew及重新安装。最终通过彻底卸载并清理MySQL,再重新安装成功解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


故障现象


今天本地项目怎么都启动不了,查看日志发现是连接本地数据库超时,报错信息如下:

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

排查过程


首先查看代码,发现也没有修改到数据库相关的内容,突然出现有点诡异。

转念一想会不会是数据库出了问题,果然,使用数据库管理工具 Datagrip  连接的时候也报了同样的错误,所以基本确定是 mysql  出了问题。

首先查看 brew *安装的本地 *mysql  服务的状态,这里有三种方法查看:

  1. 通过 ps  命令
ps -ef | grep mysql


通过 ps 命令加 grep  过滤,可以查看是否有 msyql  进程在进行。

  1. 通过 lsof  命令
lsof -i:3306


也可以通过 lsof  命令,查看指定端口有没有启动,我当时创建的时候用的默认端口 3306  端口,如果你设置了其它端口,可以改成对应的

  1. 通过  brew  的  services  查看(推荐)


 brew  的  services  是用来管理后台服务命令,它主要有如下功能:

好的,直接使用  brew services  命令看看  mysql  的状态

image.png

可以看到列出的状态通常有三种,分别是:

  1. stopped
  2. 黄色的 started
  3. 绿色的 started


其中  stopped  没啥好说的就是此服务是关闭的。那黄色的与绿色的  started  分别代表什么呢?首先绿色的  started  代表服务是启动的并且正常运行。黄色查了半天,发现代表未知,也就是说可能正常启动着,也可能出现问题,那为什么不直接显示未知呢?看样子是为了兼容,具体可以看这篇文章 [What is the meaning yellow service "started" status on Homebrew? - Stack Overflow](https://stackoverflow.com/questions/41873704/what-is-the-meaning-yellow-service-started-status-on-homebrew/55798920 "What is the meaning yellow service "started" status on Homebrew? - Stack Overflow")。

很不幸的是,这个黄色对我来说是故障。

解决方法


本来想重启一下就可以了,首先重启  mysql  服务: brew services restart mysql ,结果重启完还是不行。然后我重启电脑,好吧,还是失败。

接着搜索。

在  google  搜索  brew services yellow mysql  可以发现不只我一个人遇到。很多人给了解决方案,但是还是折腾了很久,才找到对于我有用的,这里直接贴两个。

  1. homebrew - brew services list shows mysql running but cannot connect - Stack Overflow

image.png

这个方案大致是关服务、卸载服务、删除服务数据、升级  brew 、再重新安装服务。我主要看他评论下面两个  Thanks  觉得应该可以,结果还是不行。可能不适合我这种情况。

  1. 完全重装 mysql


但是重装之路也很艰难,怎么都启动不了,出现了其它问题。应该是没有卸载干净,后来按照这个 brew install mysql on macOS - Stack Overflow 解决了。

image.png

发现之前没有使用  remove & cleanup  命令,可能导致没有卸载干净。按步骤一步一步来就好了。

😔 难受,莫名其妙出现的问题,折腾了几个小时,谨以此文纪念我逝去的几个小时的青春。

引用

  1. [What is the meaning yellow service "started" status on Homebrew? - Stack Overflow](https://stackoverflow.com/questions/41873704/what-is-the-meaning-yellow-service-started-status-on-homebrew/55798920 "What is the meaning yellow service "started" status on Homebrew? - Stack Overflow")
  2. homebrew - brew services list shows mysql running but cannot connect - Stack Overflow
  3. brew install mysql on macOS - Stack Overflow
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值