分布式微服务系统架构第144集:FastAPI全栈开发教育系统

加群联系作者vx:xiaoda0423

仓库地址:https://webvueblog.github.io/JavaPlusDoc/

https://1024bat.cn/

https://github.com/webVueBlog/fastapi_plus

https://webvueblog.github.io/JavaPlusDoc/

使用docker搭建常用开发环境

  1. docker安装mysql
go 复制代码
docker run --restart=always -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD="123456" \
-v /Users/mayingfa/Development/docker/mysql/conf:/etc/mysql/conf.d \
-v /Users/mayingfa/Development/docker/mysql/logs:/var/log/mysql \
-v /Users/mayingfa/Development/docker/mysql/data:/var/lib/mysql \
-d mysql
  1. docker安装redis
go 复制代码
docker run --restart=always -p 6379:6379 --name redis \
-v /Users/mayingfa/Development/docker/redis/redis.conf:/etc/redis/redis.conf \
-v /Users/mayingfa/Development/docker/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf --appendonly yes

你现在遇到的问题是 Homebrew 在尝试安装 libevent(MySQL 的依赖)时,缓存文件丢失或损坏,导致:

go 复制代码
Error: No such file or directory @ rb_sysopen - ...

✅ 解决步骤如下:

① 清理 Homebrew 的下载缓存

这会清掉所有可能损坏的 .tar.gz.incomplete 或已失效的缓存包:

go 复制代码
brew cleanup -s
rm -rf ~/Library/Caches/Homebrew/*
② 重新尝试安装 MySQL
go 复制代码
brew install mysql@8.0

Homebrew 会自动重新下载依赖 libevent 等,确保是干净环境。


🔍 你也可以单独试试是否能安装 libevent

go 复制代码
brew install libevent

如果 libevent 安装成功,再继续安装 MySQL 即可。


✅ 可选:确认依赖包下载正常(联网情况良好)

可通过访问以下链接测试是否能正常访问 Homebrew 源(GitHub Packages):

如果访问不了,可能是网络(如防火墙或 DNS)问题。此时可以切换到清华源:

go 复制代码
export HOMEBREW_BREW_GIT_REMOTE=https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
export HOMEBREW_CORE_GIT_REMOTE=https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git

如果还有问题,贴一下这几个命令的输出:

go 复制代码
brew config
brew doctor
ls -lh ~/Library/Caches/Homebrew/downloads/

使用 Homebrew 安装的 MySQL,默认密码行为如下:


✅ 安装命令

go 复制代码
brew install mysql
brew services start mysql

🔑 默认 root 密码说明(重点):

安装完成后,MySQL 通常:

  • 允许你用 root 用户以空密码登录

  • 或者启用了 auth_socket 插件(无密码,靠本地 socket 登录)

你可以直接尝试:

go 复制代码
mysql -u root

或者:

go 复制代码
mysql -u root -p
# 如果提示输入密码,直接按 Enter,表示密码为空

🔍 查看 MySQL 安装版本

go 复制代码
mysql --version
# 示例输出:
# mysql  Ver 8.0.36 for macos13.4 on x86_64 (Homebrew)

✅ 如何设置 root 密码(建议设置)

go 复制代码
mysql_secure_installation

该命令将引导你:

  • 设置 root 密码

  • 删除匿名用户

  • 禁止远程 root 登录

  • 删除 test 数据库


🛠 如果你想显式设置 root 密码(跳过引导)

go 复制代码
mysql -u root
# 登录后执行:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';
FLUSH PRIVILEGES;

🧠 总结

项目 默认值
用户名 root
密码 空(或者 socket 登录)
登录方式 mysql -u root
MySQL 安装路径 /opt/homebrew/opt/mysql (M1)或 /usr/local/opt/mysql(Intel)

彻底卸载 Mac 上本地安装的 MySQL(包括通过 .pkg 安装的官方版本) ,请按照以下步骤操作(支持 macOS Intel 与 M1/M2):


🔥 一键卸载命令(推荐你一条条执行观察):

go 复制代码
# 1. 停止 MySQL 服务
sudo launchctl unload -w /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist 2>/dev/null
sudo pkill -f mysqld

# 2. 删除 MySQL 安装目录(默认 /usr/local/mysql)
sudo rm -rf /usr/local/mysql
sudo rm -rf /usr/local/mysql*

# 3. 删除系统启动项、配置和支持文件
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/MySQL.prefPane
sudo rm -rf /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
sudo rm -rf ~/Library/PreferencePanes/MySQL.prefPane

# 4. 删除数据库文件
sudo rm -rf /usr/local/var/mysql
sudo rm -rf /usr/local/mysql/data

# 5. 删除配置文件
sudo rm -f /etc/my.cnf
sudo rm -f /etc/my.cnf.*

# 6. 删除 shell 相关残留
sudo rm -f /usr/local/bin/mysql*
sudo rm -f /usr/local/bin/mysqld*

# 7. 可选:清理 Homebrew 的 mysql(如果你也曾用 brew 装过)
brew uninstall mysql
brew cleanup

✅ 验证是否已卸载干净:

go 复制代码
which mysql
# 应无输出

ps aux | grep mysqld
# 不应再有 mysqld 相关进程

📦 如果你后续要重新安装:


如你有多个版本混装(例如 Homebrew 和 .pkg 安装共存),可进一步排查 /usr/local/bin/mysql 是哪个版本指向。

需要我帮你写个自动卸载脚本或判断 MySQL 残留的诊断命令也可以说一声。

相关推荐
喂完待续6 小时前
Apache Hudi:数据湖的实时革命
大数据·数据仓库·分布式·架构·apache·数据库架构
曾经的三心草9 小时前
微服务的编程测评系统11-jmeter-redis-竞赛列表
redis·jmeter·微服务
高阳言编程10 小时前
4. 存储体系
架构
Galaxy在掘金11 小时前
从业8年,谈谈我认知的后端架构之路-1
java·架构
天波信息技术分享13 小时前
AI 云电竞游戏盒子:从“盒子”到“云-端-芯”一体化竞技平台的架构实践
人工智能·游戏·架构
yh云想14 小时前
《从入门到精通:Kafka核心原理全解析》
分布式·kafka
k↑14 小时前
微服务之注册中心与ShardingSphere关于分库分表的那些事
数据库·微服务·架构·shardingsphere
文火冰糖的硅基工坊15 小时前
[激光原理与应用-286]:理论 - 波动光学 - 不同频段电磁波的特点与差异性
系统架构··跨学科融合·电磁波·
Tadas-Gao17 小时前
Java设计模式全景解析:从演进历程到创新实践
java·开发语言·微服务·设计模式·云原生·架构·系统架构
gptplusplus18 小时前
超越“调参”:从系统架构师视角,重构 AI 智能体的设计范式
人工智能·重构·系统架构