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

相关推荐
NiceCloud喜云15 分钟前
腾讯云国际版云数据库选型:MySQL、Redis 怎么按业务架构来判断
数据库·mysql·腾讯云
ew4521824 分钟前
MySQL JOIN 关联语法、差异、标准用法、经典坑点汇总
数据库·mysql
nnerddboy1 小时前
Rust教程04:引用、借用与切片
开发语言·后端·rust
Rain的Java大神之路1 小时前
线上接口负载满了如何解决
java·数据库·redis·后端·缓存·面试·架构
weixin_431600442 小时前
NestJS 入门(7):生命周期钩子——构造函数和 `OnModuleInit` 差在哪?
前端·后端·学习·node.js·nest.js
小强库计算机毕业设计2 小时前
基于 Spring Boot + Vue3 的校园管理系统
java·spring boot·后端·项目实战·管理系统·技术分享·校园管理系统实战
canonical_entropy3 小时前
关于《Mission Driver:Loop Engineering 的一种通用参考实现》的补充说明
后端·agent·ai编程
__zRainy__3 小时前
Node系列 · Node基础:Node.js 概述
后端·node.js
星火10243 小时前
【LangChain4j系列06】ChatMemory 对话记忆管理
人工智能·后端
netCode3 小时前
Git一文带你理解如何使用
后端