必须选custom安装以避免developer default引发的tls兼容性问题和服务启动失败;需手动勾选mysql server 8.0.36-x64、修改安装路径为无空格非中文目录、选择旧认证方式mysql_native_password,并将bin路径置顶添加至系统path环境变量。

直接装 mysql-installer-community-8.0.36.0.msi 就行,但必须选 Custom(自定义)安装,否则默认的 Developer Default 会塞一堆你用不上的工具,还可能因路径或依赖冲突导致服务起不来。
选 Custom 而不是 Developer Default 的真实原因
Developer Default 会强制安装 MySQL Workbench、Shell、Connector/Python 等组件,其中某些版本(如 Shell 8.0.36)在 Windows 11 上与系统 TLS 策略存在兼容性问题,表现为配置阶段卡在 “Executing Step: Apply Configuration” 不动。Custom 模式能只勾选 MySQL Server 8.0.36-X64,避开干扰项。
- 安装时务必展开
MySQL Servers节点,只勾选MySQL Server 8.0.36-X64 - 点击右侧
Advanced Options,把安装路径改成非中文、无空格的盘符根目录(例如D:\MySQL\Server80\),避免初始化失败报错Failed to initialize database directory - 跳过所有额外组件(Workbench、Router、Connectors),后续单独下载安装更可控
配置阶段必须改 Authentication Method
MySQL 8.0 默认用 caching_sha2_password 加密方式,而 Navicat、旧版 Python MySQL 驱动、甚至某些 Java 连接池(如 HikariCP 旧版)不支持它,连接时直接报错:Client does not support authentication protocol requested by server。
- 在 “Authentication Method” 页面,**不要选默认的 “Use Strong Password Encryption”**
- 改选
Use Legacy Authentication Method (Retain MySQL 5.x Compatibility) - 这一步决定了 root 用户默认用
mysql_native_password,省得装完再进命令行执行ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxx';
服务名和开机自启的实际影响
Windows 服务名默认是 MySQL80,看似只是个名字,但它直接影响你后续用命令行管理服务的方式——比如你想手动启停,得用 net start MySQL80,而不是 net start mysql。
- 服务名一旦设成
MySQL80,就别试图在服务管理器里右键重命名,Windows 不允许改已注册服务的名称 - 勾选
Start the MySQL Server at System Startup是安全的,但如果你开发时经常要关服务(比如换配置、调端口),建议先不勾,等确认稳定后再补上 - 如果安装后发现服务没起来,别急着重装,先打开服务管理器(
services.msc),找MySQL80,右键“启动”,看错误日志是否提示Can't find messagefile 'D:\MySQL\Server80\share\english\errmsg.sys'——那说明basedir路径写错了,得检查安装路径是否含空格或中文
环境变量配错最常卡在哪一步
很多人配完 Path 就以为完事了,结果 cmd 里敲 mysql -V 报 'mysql' is not recognized。根本原因不是没加,而是加的位置不对:Path 是按顺序查找的,如果前面有其他数据库(比如 PostgreSQL 的 bin)占了先,而它的 mysql.exe 是个假壳或版本冲突,就会拦截请求。
- 在系统变量
Path编辑窗口里,把 MySQL 的bin路径(例如D:\MySQL\Server80\bin)**拖到列表最顶部** - 改完一定要点“上移”按钮,不能只点“新建”然后点确定
- 新开一个 cmd 窗口测试,旧窗口不会自动加载新 Path
- 验证命令优先用
where mysql,它会列出所有匹配路径,一眼看出是不是加载了正确的那个
真正麻烦的从来不是点几下 Next,而是安装后发现连不上、服务起不来、或者客户端报各种认证/路径/字符集错误。这些坑在 MSI 向导里都有对应开关,但默认选项往往不是最稳的——关键就看你有没有在那几步停下来,手动改掉它。











