关于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或者升级依赖啥的 速度刷刷的。当然我其实也是这么解决的,只不过科学上网需要自己去探索。我这里就不说了。

相关推荐
哈哈老师啊2 分钟前
Springboot新冠检测信息管理系统10m6v(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
7ioik3 分钟前
MySQL默认事物隔离级别是什么?
数据库·mysql
华仔啊5 分钟前
ArrayList 和 LinkedList 的区别?一篇讲透,从此开发和面试都不再纠结
java·后端
回家路上绕了弯8 分钟前
分布式系统重试策略详解:可靠性与资源消耗的平衡艺术
分布式·后端
王中阳Go9 分钟前
别再卷 Python 了!Go + 字节 Eino 框架,才是后端人转 AI 的降维打击(附源码)
后端·面试·go
superman超哥13 分钟前
Rust 表达式与语句的区别:函数式思维与控制流设计
开发语言·后端·rust·rust表达式·rust语句·函数式思维·控制流设计
fliter14 分钟前
常见的链上攻击向量
后端
caesar_lion21 分钟前
C++ 多线程陷阱:分离线程(detached thread)访问已析构对象的致命隐患
后端
Macbethad21 分钟前
SpringMVC RESTful API开发技术报告
java·spring boot·后端
青梅主码24 分钟前
OpenAI最新发布年度重磅报告《2025年企业人工智能状况报告》:ChatGPT企业版消息量同比增长约8倍
后端