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

加群联系作者vx:xiaoda0423

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

1024bat.cn/

github.com/webVueBlog/...

webvueblog.github.io/JavaPlusDoc...

使用docker搭建常用开发环境

  1. docker安装mysql
bash 复制代码
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
bash 复制代码
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 的依赖)时,缓存文件丢失或损坏,导致:

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

✅ 解决步骤如下:

① 清理 Homebrew 的下载缓存

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

javascript 复制代码
brew cleanup -s
rm -rf ~/Library/Caches/Homebrew/*

② 重新尝试安装 MySQL

css 复制代码
brew install mysql@8.0

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


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

复制代码
brew install libevent

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


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

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

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

arduino 复制代码
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

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

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

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


✅ 安装命令

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

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

安装完成后,MySQL 通常:

  • 允许你用 root 用户以空密码登录
  • 或者启用了 auth_socket 插件(无密码,靠本地 socket 登录)

你可以直接尝试:

复制代码
mysql -u root

或者:

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

🔍 查看 MySQL 安装版本

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

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

复制代码
mysql_secure_installation

该命令将引导你:

  • 设置 root 密码
  • 删除匿名用户
  • 禁止远程 root 登录
  • 删除 test 数据库

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

sql 复制代码
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):


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

bash 复制代码
# 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

✅ 验证是否已卸载干净:

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

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

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

  • 官方 MySQL 安装包: dev.mysql.com/downloads/m...

  • Homebrew 安装推荐:

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

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

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

相关推荐
彭亚川Allen14 分钟前
从零手搓 RAG 之文档解析技术
前端·后端·架构
苏渡苇36 分钟前
Spring Insight:跨服务调用链路是怎么串起来的?
spring boot·后端·spring·系统监控·apm
救救孩子把1 小时前
AI面试八股文-03_3-RAG 系统面试题
人工智能·redis·面试·agent·rag
迪幻1 小时前
封装自己的 npm 依赖并存储到个人 GitHub
前端·npm·github
deepseek232 小时前
GitHub 停发 push 邮件后,自动通知怎么接?用 Python 做验签、去重与可靠入队
python·github·webhook
万少2 小时前
Qoder sonus模型 20分钟,复刻 马斯克 飞天汽车
前端·后端·算法
白露与泡影2 小时前
Spring Boot 实现验证码:Hutool-captcha、AJ-Captcha、EasyCaptcha 到底怎么选?
java·spring boot·后端
小蒜学长2 小时前
基于Springboot+Vue的高校教师教学业绩综合管理系统的设计与开发(代码+数据库+LW)
java·数据库·spring boot·后端·教学业绩管理·三级权限
熊哈哈O_o2 小时前
千亿级时序数据:存储压缩、高速写入与时序超表技术
后端
Mikko72 小时前
Spring Boot 3.5.16 自带的 Tomcat 10.1.55 中了哪些 CVE?其中一条是修上一个漏洞时带进来的
java·spring boot·后端·安全·tomcat