必须选use legacy authentication method(mysql_native_password)以避免navicat等客户端连接失败;安装时需点uac“是”,路径须无空格中文,临时密码须立即记录。

mysqld --initialize 生成的临时密码必须立刻记下,否则后续无法登录 —— 这是 Windows 11 上安装 MySQL 8.0 最容易卡住的第一步。
用 MSI 安装器选 Developer Default 最省事
如果你只是本地开发、不折腾配置,直接下载 mysql-installer-community-xxx.msi(完整离线包,约 400MB),双击运行后选 Developer Default 即可。它会自动装好 mysqld 服务 + MySQL Workbench + 连接器,不用手动建 my.ini、不用配环境变量、也不用开 CMD 手动初始化。
注意两点:
- 安装过程弹出 UAC 提示时,必须点“是”,否则服务注册失败
- 在“Authentication Method”页,不要选默认的
caching_sha2_password—— Navicat、DBeaver、旧版 PHP 驱动大概率连不上;改选Use Legacy Authentication Method(即mysql_native_password) - 设置
root密码时,别用纯数字或常见弱口令,Windows 11 的 UAC 和 MySQL 8.0 的密码策略会拒绝
mysqld --initialize --console 报错没输出?
这是 ZIP 免安装方式最常见的现象,根本原因通常是路径含空格、中文,或 datadir 目录不存在/权限不足。
实操建议:
- 解压到纯英文无空格路径,比如
D:\mysql-8.0,不是C:\Program Files\mysql或D:\我的软件\mysql - 手动在根目录下新建
data文件夹(不是Data或DATA),确保 Windows 用户对该文件夹有完全控制权限 - 配置文件
my.ini中路径统一用正斜杠/,比如basedir=D:/mysql-8.0,避免反斜杠转义问题 - 如果仍无输出,加参数重试:
mysqld --no-defaults --initialize --console
服务装上了却启动失败?查这三处
错误提示常是“Windows 无法启动 MySQL 服务”,实际原因往往不在 MySQL 本身。
优先检查:
-
net start MySQL失败时,先运行mysqld --console—— 它会把真实报错打在 CMD 窗口里,比如Can't open the mysql.plugin table说明初始化没成功 - 防火墙或杀毒软件可能拦截了
mysqld.exe,临时关闭再试 - 端口 3306 被占用:用
netstat -ano | findstr :3306查 PID,再用任务管理器结束对应进程 - 如果之前装过 MySQL 没卸干净,注册表里残留的服务名冲突,用
sc delete MySQL清掉再重装
为什么 mysql -u root -p 总提示 Access denied?
不是密码输错了,而是认证插件不匹配 —— 这在 Windows 11 + MySQL 8.0 组合里高频发生。
解决路径很明确:
- 如果初始化时用了
--initialize(生成临时密码),必须用那个密码首次登录,不能跳过 - 登录后立刻执行:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码'; - 别漏掉
FLUSH PRIVILEGES;,否则修改不生效 - 确认客户端连接时没指定 host,
mysql -u root -p默认走localhost,但有些驱动会解析成127.0.0.1,这时要额外授权'root'@'127.0.0.1'
真正麻烦的不是装不上,而是装上之后连不上 —— 认证方式、host 解析、密码策略这三者在 Windows 11 上咬得特别死,绕开任意一个都可能白忙半天。











