当前位置: 首页 > news >正文

分布式微服务系统架构第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

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

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 的依赖)时,缓存文件丢失或损坏,导致:

Error: No such file or directory @ rb_sysopen - ...

✅ 解决步骤如下:

① 清理 Homebrew 的下载缓存

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

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

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


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

brew install libevent

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


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

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

  • https://ghcr.io/v2/homebrew/core/libevent/manifests/2.1.12

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

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

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

brew config
brew doctor
ls -lh ~/Library/Caches/Homebrew/downloads/

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


✅ 安装命令

brew install mysql
brew services start mysql

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

安装完成后,MySQL 通常:

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

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

你可以直接尝试:

mysql -u root

或者:

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

🔍 查看 MySQL 安装版本

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

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

mysql_secure_installation

该命令将引导你:

  • 设置 root 密码

  • 删除匿名用户

  • 禁止远程 root 登录

  • 删除 test 数据库


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

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):


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

# 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

✅ 验证是否已卸载干净:

which mysql
# 应无输出ps aux | grep mysqld
# 不应再有 mysqld 相关进程

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

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

  • Homebrew 安装推荐:

    brew install mysql
    brew services start mysql

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

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

相关文章:

  • 在.NET Core控制器中获取AJAX传递的Body参数
  • JavaScript 原型与原型链:深入理解 __proto__ 和 prototype 的由来与关系
  • 如何写高效的Prompt?
  • vscode .husky/pre-commit: line 4: npx: command not found
  • R 语言科研绘图第 55 期 --- 网络图-聚类
  • VUE解决页面请求接口大规模并发的问题(请求队列)
  • 12-Oracle 23ai Vector 使用ONNX模型生成向量嵌入
  • pgsql:还原数据库后出现重复序列导致“more than one owned sequence found“报错问题的解决
  • DevSecOps新理念
  • 彻底解决 MFC 自绘控件闪烁
  • 短视频矩阵SaaS系统:开源部署与核心功能架构指南
  • C++中switch-case的性能优化策略详解
  • itvbox绿豆影视tvbox手机版影视APP源码分享搭建教程
  • 如何理解OSI七层模型和TCP/IP四层模型?HTTP作为如何保存用户状态?多服务器节点下 Session方案怎么做
  • 学习 React【Plan - June - Week 1】
  • .net 使用MQTT订阅消息
  • AirSim/Cosys-AirSim 游戏开发(三)打包可执行文件
  • AI代码助手需求说明书架构
  • OPenCV CUDA模块光流------高效地执行光流估计的类BroxOpticalFlow
  • day46python打卡
  • 怎么用dw英文版做网站/seo短视频入口引流
  • 企业网站建设管理系统/网店运营基础知识
  • 深圳做网站-信科网络/广告联盟app下载官网
  • 做公司网站注意事项/网页制作培训网站
  • 网站开发嘉比格网络/深圳谷歌网络推广公司
  • 专业做曝光引流网站/seo3的空间构型