关于brew更新后 mysql启动失败的解决记录

最近安装了些东西,期间可能有版本问题所以升级了 brew ,升级不要紧,要紧的是升级后,突然发现mysql连不上了,md这忍不了,我一个后端离了数据库没法活!所以开始尝试修复。

首先我启动mysql(命令:mysql server start)时候,提示如下: 然后我查看错误日志,mysql提示我以下内容:

javascript 复制代码
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicuuc.69.dylib
  Referenced from: /usr/local/opt/mysql/bin/mysqld
  Reason: image not found

啥意思?就是mysql依赖的icu4c (69版本) 找不到了,于是我尝试下载:

perl 复制代码
~ >> brew reinstall icu4c@69                                                                                                                                                                                                hzz@huangzhuangzhuangdeMacBook-Pro
Error: No available formula with the name "icu4c@69". Did you mean icu4c?

通过上边的提示发现,不能指定版本号下载啊!发客!,很很很难受,网上说去icu4c的git仓库(参见:stackoverflow),找到历史提交版本,然后checkout到69版本,可是我根本没有homebrew-core文件夹,更别提git提交记录了,所以也就放弃了。

咋办?

我经过深思后想到个方案,既然69下载不了(不能一棵树上吊死是不是?),那我下载icu4c的最新版吧,然后升级mysql版本,新mysql版本应该是依赖最新版本的icu4c吧,为了不瞎折腾,我去homebrew网站确认了一下,截图如下: 可以看到brew中最新的mysql依赖的icu4c是73.2,所以 而我执行 brew reinstall icu4发现下载下来的icu4c也是 73.2,如图: ok既然确定最新版本mysql8.1 和 icu4c的73.2 版本对应! ,那我就下载 icu4c 73.2 然后升级mysql到最新,这样的话问题应该可以解决。

icu4c 73.2下载并安装完成了,那接下来就是要升级mysql版本到最新了,我执行brew upgrade mysql命令来升级mysql,发现: 安装好几个依赖包,而且因为不能科学上网的问题,网速巨慢,中间还失败了(至少失败了20次md),搞得我快崩溃了(各种换源啥的都不好使,终其原因就是不能科学上网而已,所以最终我学会了科学上网)。然后我不直接升级mysql了,而是一个一个先升级mysql缺少的依赖,这样升级mysql时就不用再去下载依赖了。我使用brew info mysql看下: 可以看到好几个依赖包都是缺失或者可能是版本高或者版本低的问题都是红叉叉❌。如果你去升级mysql,那么会依次下载这些红叉叉❌的包,等很久,还tm失败,所以我干脆 一个一个来手动下载,这样感觉好受点。 其实一个个下载也有可能会失败,解决办法就是你得学会科学上网,科学上网后,你直接升级mysql都行。我这里经过99八十一难终于升级好mysql的依赖,在下载完最后一个依赖 protobuf@21后,我执行 brew info mysql 发现没有红叉叉❌了,都是✅: 哈哈到这里,我知道时机成熟了, 此时升级mysql应该可以了,我来试试!: 使用mysql客户端连接一下:

ok终于可以了,看似很简单的过程,却耗费了我很久大概半天+一晚上的时间,其实根本原因就是得学会科学上网,那你升级mysql或者升级依赖啥的 速度刷刷的。当然我其实也是这么解决的,只不过科学上网需要自己去探索。我这里就不说了。

相关推荐
牛奔8 小时前
Go 如何避免频繁抢占?
开发语言·后端·golang
想用offer打牌13 小时前
MCP (Model Context Protocol) 技术理解 - 第二篇
后端·aigc·mcp
KYGALYX14 小时前
服务异步通信
开发语言·后端·微服务·ruby
掘了14 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
ccecw15 小时前
Mysql ONLY_FULL_GROUP_BY模式详解、group by非查询字段报错
数据库·mysql
JH307315 小时前
达梦数据库与MySQL的核心差异解析:从特性到实践
数据库·mysql
爬山算法15 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
Moment15 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
Cobyte16 小时前
AI全栈实战:使用 Python+LangChain+Vue3 构建一个 LLM 聊天应用
前端·后端·aigc
程序员侠客行17 小时前
Mybatis连接池实现及池化模式
java·后端·架构·mybatis