插件窝 干货文章 在MacOS上运行多个MySQL版本:逐步指南

在MacOS上运行多个MySQL版本:逐步指南

MySQL 安装 版本 不同 750    来源:    2025-03-27

在MacOS上运行多个MySQL版本:逐步指南

准备工作

在开始之前,请确保: 1. 已安装Homebrew(MacOS包管理器) 2. 备份现有MySQL数据库(如果有) 3. 确保有足够的磁盘空间

方法一:使用Homebrew安装和管理多个版本

1. 安装Homebrew(如未安装)

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. 安装不同MySQL版本

# 安装MySQL 5.7
brew install mysql@5.7

# 安装MySQL 8.0
brew install mysql@8.0

3. 切换MySQL版本

# 停止当前运行的MySQL
brew services stop mysql

# 切换到MySQL 5.7
brew unlink mysql
brew link --force mysql@5.7

# 或者切换到MySQL 8.0
brew unlink mysql@5.7
brew link --force mysql@8.0

# 启动服务
brew services start mysql

方法二:使用Docker运行多个版本(推荐)

1. 安装Docker for Mac

从Docker官网下载并安装:https://www.docker.com/products/docker-desktop

2. 运行不同MySQL版本容器

# 运行MySQL 5.7
docker run --name mysql57 -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 -d mysql:5.7

# 运行MySQL 8.0(使用不同端口)
docker run --name mysql80 -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3307:3306 -d mysql:8.0

3. 连接不同MySQL实例

  • MySQL 5.7: localhost:3306
  • MySQL 8.0: localhost:3307

方法三:使用DMG安装包手动安装

  1. 从MySQL官网下载不同版本的DMG安装包
  2. 安装到不同目录(如/usr/local/mysql57/usr/local/mysql80
  3. 通过修改PATH环境变量和启动脚本来切换版本

管理多个MySQL实例

启动/停止服务

# Homebrew方式
brew services start mysql@5.7
brew services stop mysql@5.7

# Docker方式
docker start mysql57
docker stop mysql57

配置不同端口

编辑MySQL配置文件(通常位于/usr/local/etc/my.cnf):

[mysqld]
port = 3307  # 为第二个实例设置不同端口

常见问题解决

  1. 端口冲突:确保每个MySQL实例使用不同端口
  2. 数据目录冲突:为每个实例配置不同的数据目录
  3. 服务启动失败:检查错误日志(通常位于/usr/local/var/mysql/[hostname].err

最佳实践建议

  1. 推荐使用Docker方法,隔离性最好
  2. 为每个项目使用特定MySQL版本
  3. 使用.env文件管理不同环境的连接配置
  4. 考虑使用MySQL客户端工具(如TablePlus、Sequel Pro)管理多个连接

清理旧版本

如需卸载旧版本:

brew uninstall mysql@5.7
# 或
brew uninstall mysql@8.0

希望本指南能帮助您在MacOS上顺利运行多个MySQL版本!如有其他问题,请随时提问。