news 2026/5/1 3:58:17

Docker Compose 部署 MySQL 8.4 LTS(生产级实践方案)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Docker Compose 部署 MySQL 8.4 LTS(生产级实践方案)

前言:

使用docker compose 详细部署mysql8.4版本数据库详细步骤

环境:Linux Server / macOS(ARM)
MySQL 版本:8.4.5(LTS)
部署方式:Docker Compose
适用场景:新项目 / 长期维护系统 / ARM & x86 环境


一、为什么选择 MySQL 8.4 LTS?

MySQL 8.4 是官方长期支持版本(LTS),相比 8.0.x 的创新版本:

  • ✅ 更稳定,维护周期更长
  • ✅ 官方明确推荐用于生产
  • ✅ 原生支持 ARM(Apple Silicon / 云 ARM 实例)
  • ✅ 新项目首选版本

⚠️ 注意:
MySQL 8.4已经移除了部分 8.0 早期参数,直接照抄旧配置很容易启动失败(本文重点避坑)。


二、本次部署目标

  • 使用 Docker Compose 部署 MySQL 8.4.5
  • 目录使用相对路径./挂载
  • 数据 / 日志 / 配置完全持久化
  • 避开 MySQL 8.4 的常见启动坑
  • 可在Linux / macOS ARM正常运行

三、目录结构设计(推荐)

mysql8.4/ ├── docker-compose.yml ├── data/ # 数据目录 ├── log/ # 日志目录 └── conf/ └── my.cnf

创建目录:

mkdir-p mysql8.4/{data,log,conf}cdmysql8.4

如果希望自定义docker网络的话,可以运行:

docker network create sql_default

计划使用默认的话,就删除下面内容中的关于networks配置的即可:

networks:-sql_default networks:sql_default:external:true

四、docker-compose.yml(MySQL 8.4 推荐版)

services:mysql:image:mysql:8.4.5container_name:mysql84restart:alwaysports:-"3306:3306"environment:TZ:Asia/ShanghaiMYSQL_ROOT_PASSWORD:admin123456volumes:-./data:/var/lib/mysql-./log:/var/log/mysql-./conf:/etc/mysql/conf.d-/etc/localtime:/etc/localtime:rocommand:["--character-set-server=utf8mb4","--collation-server=utf8mb4_0900_ai_ci"]networks:-sql_defaultnetworks:sql_default:external:true

⚠️ 重点说明(8.4 必看)

不要再加这个参数:

--default-authentication-plugin=mysql_native_password

MySQL 8.4 中已被移除,会直接导致启动失败:

unknown variable 'default-authentication-plugin'

五、MySQL 8.4 专用配置文件(conf/my.cnf)-- 可选,不配置使用默认也可以

[mysqld] port=3306 user=mysql server-id=1 # 字符集(8.4 默认 utf8mb4) character-set-server=utf8mb4 collation-server=utf8mb4_0900_ai_ci # 时区 default-time-zone='+8:00' # 连接 max_connections=500 # InnoDB innodb_buffer_pool_size=512M innodb_log_file_size=256M innodb_flush_log_at_trx_commit=1 innodb_file_per_table=1 # 日志 log-error=/var/log/mysql/error.log slow_query_log=1 slow_query_log_file=/var/log/mysql/slow.log long_query_time=2 # SQL 模式(8.x 推荐) sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4

💡 MySQL 8.4 默认使用caching_sha2_password,无需手动配置


六、启动 MySQL 8.4 容器

运行命令要跟docker-compose.yml文件在同一目录

dockercompose up -d

首次启动会进行数据库初始化。


七、启动成功的“关键信号”

查看日志:

dockerlogs mysql84

出现以下日志,说明初始化与启动全部成功

MySQL init process done. Ready for start up.

这样的日志正是标准成功流程


八、连接验证

宿主机连接

mysql -h127.0.0.1 -P3306-u root -p

容器内连接(推荐)

dockerexec-it mysql84 mysql -uroot -p

九、常见问题 & 避坑总结(8.4 特有)

1️⃣ 启动失败:unknown variable

原因:

  • 使用了8.0 / 5.7 的旧参数
  • 8.4 已移除部分变量

解决:

  • 删除default-authentication-plugin
  • 只保留8.4 官方支持参数

2️⃣ lower_case_table_names 警告

Setting lower_case_table_names=2 because file system is case insensitive

说明:

  • macOS / Docker Desktop 常见
  • Linux 服务器一般不会出现
  • 不影响使用

3️⃣ 时区 Warning 是否影响?

Unable to load '/usr/share/zoneinfo/...'
  • 仅影响CONVERT_TZ()
  • 业务无影响
  • 可选择忽略

十、5.7 vs 8.4 LTS 简要对比

对比项MySQL 5.7MySQL 8.4 LTS
生命周期即将 EOL官方长期支持
ARM 支持
默认认证mysql_native_passwordcaching_sha2_password
JSON基础更强
推荐新项目

十一、总结

✔ MySQL 8.4 是新项目首选
✔ Docker Compose 部署简单可控
✔ 避开旧版本配置是关键
✔ 本文方案可直接用于生产


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 3:54:43

【笔记】【交易心理分析核心笔记】

目录 交易心理分析核心笔记 一、基本面分析:看似科学,实则忽略人的因素 二、技术分析:能发现机会,却拦不住你的心理塌方 陷阱一:拒绝制定原则,把自由变成灾难 陷阱二:不负责任,亏了怪市场,赚了靠自己 陷阱三:对随机回报上瘾,赚快钱的快感会毁了你的纪律 陷阱…

作者头像 李华
网站建设 2026/4/23 17:24:13

phpstudy 常用设置

short_open_tag: 开关PHP标签。选中长标签<?php ?>生效&#xff1b;没选中<? ?>短标签生效。display_errors:显示错误信息关闭。

作者头像 李华
网站建设 2026/4/24 13:00:56

HTML网页仿写实验

实验代码&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>质量管理与…

作者头像 李华
网站建设 2026/4/24 17:33:01

基于Java+SSM的电子商务平台的设计与实现(源码+lw+部署文档+讲解等)

课题介绍 本课题旨在设计并实现基于 JavaSSM&#xff08;SpringSpringMVCMyBatis&#xff09;框架的电子商务平台&#xff0c;针对传统线下商贸交易效率低、渠道有限及简易电商系统功能单一、扩展性差等问题&#xff0c;打造集商品展示、在线交易、订单管理、用户运营于一体的综…

作者头像 李华
网站建设 2026/5/1 4:45:36

快来看看吧

我是一个鸿蒙初学者开发了一个app但是不太会测试 大家有时间能不能帮忙测试体验 我一个人设备有限 但是还是想做些高质量的app。拜托了 义衣

作者头像 李华
网站建设 2026/4/25 23:08:51

大数据目录在数据治理中的关键作用与应用案例

大数据目录&#xff1a;数据治理的"导航系统"与数字化转型的关键基石 关键词 数据治理、大数据目录、数据资产管理、元数据管理、数据发现、数据血缘、数据质量、数据合规 摘要 在当今数据驱动的时代&#xff0c;组织面临着数据量爆炸式增长、数据孤岛严重、数据…

作者头像 李华