Mac 安装多个版本的mysql

1.安装多个版本的 MySQL

安装 MySQL 8.4

brew install mysql@8.4

安装 MySQL 8.0

brew install mysql@8.0

2. 为两个实例分别建立配置文件

MySQL 8.4 配置 /Users/xxx/Documents/my84.cnf 内容如下:

conf 复制代码
[mysqld]
port = 3307
socket = /tmp/mysql84.sock
datadir = /Users/xxx/Documents/var/mysql84
pid-file = /Users/xxx/Documents/var/mysql84/mysql84.pid
log-error = /Users/xxx/Documents/var/mysql84/error.log
server-id = 2

[client]
port = 3307
socket = /tmp/mysql84.sock

MySQL 8.0 配置 /Users/xxx/Documents/my80.cnf 内容如下:

conf 复制代码
[mysqld]
port = 3306
socket = /tmp/mysql80.sock
datadir = /Users/xxx/Documents/var/mysql80
pid-file = /Users/xxx/Documents/var/mysql80/mysql80.pid
log-error = /Users/xxx/Documents/var/mysql80/error.log
server-id = 1

[client]
port = 3306
socket = /tmp/mysql80.sock

3. 初始化mysql数据目录

创建数据目录

mkdir -p /Users/xxx/Documents/var//mysql84

mkdir -p /Users/xxx/Documents/var//mysql80

mysql安装位置

ps: 不同系统位置可能不同,自己找一下

/opt/homebrew/Cellar/mysql/

初始化 MySQL 8.4

/opt/homebrew/Cellar/mysql@8.4/8.4.8/bin/mysqld --defaults-file=/Users/xxx/Documents/my84.cnf --initialize-insecure

初始化 MySQL 8.0

/opt/homebrew/Cellar/mysql@8.0/8.0.45/bin/mysqld --defaults-file=/Users/xxx/Documents/my80.cnf --initialize-insecure

4. 启动和停止服务

启动 MySQL 8.4

/opt/homebrew/Cellar/mysql@8.4/8.4.8/bin/mysqld_safe --defaults-file=/Users/xxx/Documents/my84.cnf &

启动 MySQL 8.0

/opt/homebrew/Cellar/mysql@8.0/8.0.45/bin/mysqld_safe --defaults-file=/Users/xxx/Documents/my80.cnf &

连接到不同版本数据库

mysql -S /tmp/mysql84.sock -u root -p # 连接 8.4

mysql -S /tmp/mysql80.sock -u root -p # 连接 8.0

停止 MySQL 8.0

/opt/homebrew/Cellar/mysql@8.0/8.0.45/bin/mysqladmin -uroot -p -S /tmp/mysql80.sock shutdown

停止 MySQL 8.4

/opt/homebrew/Cellar/mysql@8.4/8.4.8/bin/mysqladmin -uroot -p -S /tmp/mysql84.sock shutdown

查看mysql进程是否存在

ps -ef | grep mysql

相关推荐
鸽芷咕18 小时前
MySQL/PostgreSQL 迁移金仓 KES:LEFT JOIN 丢数据排查与避坑指南
数据库·mysql·postgresql
关关长语1 天前
Wsl解决MySQL容器跨域权限问题
mysql·docker·容器
这个DBA有点耶1 天前
索引碎片与统计信息维护:执行计划突然变差的隐形杀手
mysql·程序员·架构
Mico181 天前
MySQL 8.0.35 GTID 主从复制搭建-基于GITD
android·mysql·adb
Ethan01071 天前
Mybatis数据源切换
mysql
kali-Myon2 天前
深入 MySQL 内核:从临时哈希表分配机制详解 Floor 报错注入核心原理
数据库·sql·mysql·安全·web
Ethan01072 天前
pt-deadlock-logger 检测死锁
mysql
Ethan01072 天前
数据库死锁-应用层重试
mysql
宠友信息2 天前
消息序号如何保证即时通讯源码聊天记录稳定加载
java·spring boot·redis·python·mysql·uni-app
笨蛋不要掉眼泪2 天前
MySQL架构揭秘:慢查询日志详解
数据库·mysql·架构