今天本地项目怎么都启动不了,查看日志发现是链接本地数据库超时,报错信息以下:
mysql
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 服务的状态,这里有三种方法查看:
sql
ps
命令ps -ef | grep mysql
经过 ps
命令加 grep
过滤,能够查看是否有 msyql 进程在进行。
数据库
lsof
命令lsof -i:3306
也能够经过 lsof
命令,查看指定端口有没有启动,我当时建立的时候用的默认端口 3306 端口,若是你设置了其它端口,能够改为对应的
macos
services
查看(推荐)
brew 的 services
是用来管理后台服务命令,它主要有以下功能:
bash
好的,直接使用
brew services
命令看看 mysql 的状态
能够看到列出的状态一般有三种,分别是:
工具
其中 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")。
很不幸的是,这个黄色对我来讲是故障。
google
原本想重启一下就能够了,首先重启 mysql 服务: brew services restart mysql
,结果重启完仍是不行。而后我重启电脑,好吧,仍是失败。
接着搜索。
在 google 搜索 brew services yellow mysql 能够发现不仅我一我的遇到。不少人给了解决方案,可是仍是折腾了好久,才找到对于我有用的,这里直接贴两个。
rest
这个方案大体是关服务、卸载服务、删除服务数据、升级 brew 、再从新安装服务。我主要看他评论下面两个 Thanks 以为应该能够,结果仍是不行。可能不适合我这种状况。
日志
可是重装之路也很艰难,怎么都启动不了,出现了其它问题。应该是没有卸载干净,后来按照这个 brew install mysql on macOS - Stack Overflow 解决了。
发现以前没有使用 remove & cleanup 命令,可能致使没有卸载干净。按步骤一步一步来就行了。
😔 难受,莫名其妙出现的问题,折腾了几个小时,谨以此文记念我逝去的几个小时的青春。
code