关键不是“最新”而是“匹配”:需根据应用框架(如Spring Boot 2.x/3.x、Django 4.2+)和驱动版本选择对应MySQL版本,避免认证插件、排序规则、代理工具等兼容性问题,生产环境优先选8.0.33 LTS版。

MySQL 安装时选错版本,轻则驱动不兼容、语法报错,重则应用连不上数据库或升级卡死——关键不是“最新”,而是“匹配”。
看应用框架和驱动支持的 MySQL 版本范围
很多老项目用的是 Spring Boot 2.3.x 或 MyBatis 3.4.x,它们默认适配的 mysql-connector-java 8.0.22 以下版本,对 MySQL 8.4+ 的默认认证插件 caching_sha2_password 支持不稳,连接会直接抛 Public Key Retrieval is not allowed 或 Authentication plugin 'caching_sha2_password' cannot be loaded。
- Spring Boot 2.2–2.4:建议搭配 MySQL 5.7 或 8.0.11–8.0.28
- Spring Boot 3.x / Jakarta EE 9+:可放心用 MySQL 8.0.33+ 或 8.4.x(需确认
mysql-connector-j≥ 8.2.0) - Django 4.2+、Rails 7.1+:已原生支持 MySQL 8.4,默认字符集
utf8mb4_0900_as_cs也没问题
别盲目上 MySQL 8.4,先查清你依赖的中间件是否跟得上
MySQL 8.4 是 2024 年 7 月刚 GA 的版本,改动不小:默认排序规则换成 utf8mb4_0900_as_cs,GROUP BY 语义更严格,JSON_TABLE() 成为内置函数,但像 ProxySQL 2.5.3、MaxScale 2.5.16 这类代理层尚未完全适配其新协议字段;Percona Toolkit 3.5.4 对 8.4 的 INFORMATION_SCHEMA 变更也有兼容性问题。
ECSHOP时尚化妆品商城网站整站系统,基于ECSHOP2.7.3UTF-8版本制作,适合服装,首饰等商城网店使用。 安装方法:1. 下载程序后,删除data目录下的install.lock文件。2.访问:域名/install 按照提示进行安装.3.安装完成后,登陆网站后台---还原数据库4.还原后.模板管理---选择男装模板5.清空缓存6.修改管理员密码.还原数据后,后台信息:用户名:admin
- 生产环境稳妥起见,优先选
8.0.33(LTS 长期支持版,官方维护到 2026 年 10 月) - 测试/新项目想尝鲜 8.4,务必同步升级
mysql-client、备份工具(如 mydumper ≥ 0.13.0)、监控插件(如 Prometheus mysqld_exporter ≥ 0.15.0) - 用 Docker 部署?镜像标签别只写
mysql:latest——它现在指向 8.4,应明确指定mysql:8.0或mysql:8.0.33
Windows 上安装 MySQL 5.7 要特别注意 VC++ 运行库依赖
MySQL 5.7.31 之后的 MSI 安装包不再自带 VC++ 2013 运行库,而 Windows Server 2012 R2 / Win10 旧系统默认没有预装。安装后服务启动失败,日志里只显示 System error 1067,实际是 msvcr120.dll 找不到。
- 手动下载安装
Microsoft Visual C++ 2013 Redistributable (x64)(注意必须是 2013,不是 2015/2017) - 或者改用 ZIP 免安装版 + 手动初始化:
mysqld --initialize-insecure --basedir=...,跳过 MSI 封装逻辑 - 若只是本地开发调试,强烈建议用
mysql:5.7Docker 镜像,彻底避开 Windows 运行库陷阱
版本选择真正卡点的,往往不是功能多寡,而是上下游组件的“兼容窗口”——比如一个 mysql-connector-j 8.0.33 驱动能连 5.7.40、8.0.33、8.4.0,但它在连接 8.4.0 时若没显式配置 allowPublicKeyRetrieval=true&serverTimezone=UTC,照样连不上。细节不在版本号里,而在连接字符串和初始化参数中。









