分布式微服务系统架构第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 残留的诊断命令也可以说一声。

相关推荐
weixin_307779134 小时前
Windows 11下纯软件模拟虚拟机的设备模拟与虚拟化(仅终端和网络)
windows·系统架构
武子康4 小时前
Java-82 深入浅出 MySQL 内部架构:服务层、存储引擎与文件系统全覆盖
java·开发语言·数据库·学习·mysql·spring·微服务
Rancemy4 小时前
rabbitmq 03
java·分布式·rabbitmq
黄雪超8 小时前
Kafka——多线程开发消费者实例
大数据·分布式·kafka
阿里巴巴淘系技术团队官网博客8 小时前
面向互联网2C业务的分布式类Manus Java框架
java·开发语言·分布式
sniper_fandc9 小时前
RabbitMQ—HAProxy负载均衡
分布式·rabbitmq·负载均衡
你想知道什么?10 小时前
RabbitMQ简述
分布式·rabbitmq
范纹杉想快点毕业13 小时前
ZYNQ芯片,SPI驱动开发自学全解析个人笔记【FPGA】【赛灵思
stm32·单片机·嵌入式硬件·mcu·架构·51单片机·proteus
Pomelo_刘金13 小时前
Worker 常用 6 种结构与适用场景
架构
sanggou14 小时前
Zookeeper的分布式事务与原子性:深入解析与实践指南
分布式·zookeeper·云原生