在 macOS 15.x 上安装 MySQL 8.4.x(ARM64 版)完整教程

MySQL 8.4 是 MySQL 的最新稳定版本,针对 macOS 15.x(Apple Silicon 芯片)进行了优化。本文将详细介绍如何在 macOS 15.x 上手动安装 MySQL 8.4.x(.tar.gz 版本),包括初始化、配置、启动、重置密码等完整流程。


📥 1. 下载 MySQL 8.4(ARM64 版)

直接访问 MySQL 官方下载页面 选择:

  • 版本:MySQL Community Server 8.4.x
  • 操作系统macOS
  • 架构:ARM 64-bit(Apple Silicon)
  • 包格式mysql-8.4.5-macos15-arm64.tar.gz

也可以按图中从mysql官方网站进入依次选择downloads - GPL版本
1.jpg
选择Community版本
2.jpg
根据你的需求选择对应版本
3.jpg
直接下载,不登录
4.jpg

下载后,解压到目标目录(如 /Applications/EServer/childApp/server/mysql-8.4):

tar -xzvf mysql-8.4.5-macos15-arm64.tar.gz -C /Applications/EServer/childApp/server/
mv /Applications/EServer/childApp/server/mysql-8.4.5-macos15-arm64 /Applications/EServer/childApp/server/mysql-8.4

⚙️ 2. 配置 MySQL

📂 创建数据目录和日志目录

mkdir -p /Applications/EServer/database/mysql-8.4-data
mkdir -p /Applications/EServer/childApp/server/mysql-8.4/logs
chmod -R 755 /Applications/EServer/database/mysql-8.4-data

📝 创建 my.cnf 配置文件

/Applications/EServer/etc/mysql-8.4/my.cnf 写入以下内容(按需调整):

[client]
port = 3306
socket = /Applications/EServer/database/mysql-8.4-data/mysql84.sock

[mysql]
no-auto-rehash
default-character-set = utf8mb4

[mysqld]
socket = /Applications/EServer/database/mysql-8.4-data/mysql84.sock
basedir = /Applications/EServer/childApp/server/mysql-8.4
datadir = /Applications/EServer/database/mysql-8.4-data
pid-file = /Applications/EServer/database/mysql-8.4-data/mysql84.pid
port = 3306
server_id = 1
character-set-server = utf8mb4
sql_mode = "NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE"

# 安全与认证
mysql_native_password = on
explicit_defaults_for_timestamp = on
skip-mysqlx

# 缓存与性能
table_open_cache = 64
key_buffer_size = 16M
innodb_buffer_pool_size = 128M
innodb_redo_log_capacity = 64M  # 替代旧版 innodb_log_file_size

# 日志
log_timestamps = SYSTEM
log-error = /Applications/EServer/childApp/server/mysql-8.4/logs/mysql.log

# 连接设置
max_connections = 300
max_allowed_packet = 16M
thread_cache_size = 4
table_definition_cache = 400

# 其他优化
lower_case_table_names = 2
performance_schema = 0
innodb_flush_method = O_DIRECT
innodb_file_per_table = 1

🚀 3. 初始化 MySQL

cd /Applications/EServer/childApp/server/mysql-8.4/bin

# 安全初始化(生成随机密码)
./mysqld --defaults-file=/Applications/EServer/etc/mysql-8.4/my.cnf --initialize --user=`whoami`

# 或空密码初始化(仅测试环境)
# ./mysqld --defaults-file=/Applications/EServer/etc/mysql-8.4/my.cnf --initialize-insecure --user=`whoami`

📌 注意

  • 若使用 --initialize,密码会出现在日志文件 /Applications/EServer/childApp/server/mysql-8.4/logs/mysql.log(查找 A temporary password is generated for root@localhost: XXXXXXXX)。
  • 若使用 --initialize-insecure,root 密码为空(需后续手动设置)。

🔌 4. 启动 MySQL

./mysqld --defaults-file=/Applications/EServer/etc/mysql-8.4/my.cnf &

验证是否运行:

ps aux | grep mysqld

🔑 5. 设置/重置 MySQL Root 密码

✅ 情况 1:知道当前密码

./mysql -u root -p --socket=/Applications/EServer/database/mysql-8.4-data/mysql84.sock
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
FLUSH PRIVILEGES;

🆘 情况 2:忘记密码(强制重置)

  1. 停止 MySQL

    kill -9 $(pgrep mysqld)
  2. 以无验证模式启动

    ./mysqld --defaults-file=/Applications/EServer/etc/mysql-8.4/my.cnf --skip-grant-tables --skip-networking &
  3. 登录并修改密码

    ./mysql -u root --socket=/Applications/EServer/database/mysql-8.4-data/mysql84.sock
    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
    EXIT;
  4. 重启 MySQL

    kill -9 $(pgrep mysqld)
    ./mysqld --defaults-file=/Applications/EServer/etc/mysql-8.4/my.cnf &

🔧 6. 设置 MySQL 开机自启(可选)

sudo cp /Applications/EServer/childApp/server/mysql-8.4/support-files/mysql.server /Library/LaunchDaemons/com.mysql.mysqld.plist
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysqld.plist

🎯 7. 验证安装

./mysql -u root -p --socket=/Applications/EServer/database/mysql-8.4-data/mysql84.sock
SHOW DATABASES;  -- 查看数据库列表
SELECT VERSION();  -- 查看 MySQL 版本

标签: macOS, MySQL

相关文章

macOS arm64芯片上编译Redis最新版的指南

在macOS的M1芯片上,由于架构的变化,直接编译某些软件可能会遇到一些挑战。Redis作为一款流行的开源内存中数据结构存储系统,其编译过程也不例外。本文将介绍如何在macOS arm64(M1...

macOS下对现有 DMG 文件进行空间扩容

在macOS下对现有的DMG文件进行空间扩容,可以通过使用hdiutil命令来实现。具体步骤如下:打开终端应用。使用hdiutil resize命令来调整DMG文件的大小。例如,如果你想将一个名...

我的macOS工具箱 常用软件整理

开发工具Java、Go、PHP、前端、iOS等,我基本上就用这五个,最近最出的cursor很火,但是用了一段时间后,还是没有IDEA全家桶来的爽...数据库Mysql常用的是Sequel Ace...

图片Base64编码

CSR生成

图片无损放大

图片占位符

Excel拆分文件