必须安装microsoft visual c++ redistributable for visual studio 2015–2022(x64)合并版,因其完整包含mysql 8.0.30+必需的msvcp140.dll、vcruntime140_1.dll和msvcp140_atomic_wait.dll,旧版单独包缺失后者且易引发冲突。

直接装 Microsoft Visual C++ Redistributable for Visual Studio 2015–2022(x64)就能解决,别下旧版、别装多个分开的包,也别手动复制 DLL 到 System32——那是临时糊弄,容易冲突或失效。
为什么必须装 VC++ 2015–2022 合并版
MySQL 8.0.30+ 和所有 9.x 版本都依赖 MSVCP140.dll、VCRUNTIME140_1.dll、MSVCP140_ATOMIC_WAIT.dll 这三个核心文件,它们全打包在微软最新合并版运行库中。单独装 VC++ 2015 或 2017 红包不包含 MSVCP140_ATOMIC_WAIT.dll,装了也白装。官方安装器(mysql-installer-community.exe)和 mysqld.exe 都按标准 Windows SxS 机制查找 DLL,只认注册表里正确签名的运行时版本。
- 干净 Win10/Win11 家庭版、LTSC、精简系统默认不带这个运行库
- 即使你装过旧版 VC++,也可能因版本号低或未更新而缺失
MSVCP140_ATOMIC_WAIT.dll - 下载页面认准文件名:
vc_redist.x64.exe(64位 MySQL 必须用这个)
装完仍报错的三个实际动作点
不是双击安装完就万事大吉。常见“明明装了还报错”的真实原因就这三个:
- 没关掉已打开的
mysql-installer-community.exe:进程还在跑,不会重新加载新 DLL,必须任务管理器里杀掉再重开 - MySQL 是 x64,但你误装了
vc_redist.x86.exe:x86 运行库对 x64 程序完全无效,PATH 和注册表都对不上 - PATH 里有冲突路径:比如老游戏或 Photoshop 把旧版
MSVCP140.dll放进了C:\Program Files\SomeApp\,而该路径又在系统 PATH 前面,mysqld.exe会优先加载它——用depends.exe查mysqld.exe实际加载的 DLL 路径就能确认
绿色版 ZIP 用户:DLL 放 bin 目录比改 System32 更稳
如果你用的是 mysql-8.0.44-winx64.zip 这类免安装包,把运行库 DLL 直接扔进 MySQL 的 bin 目录,比塞进 C:\Windows\System32 更可靠:
-
mysqld.exe启动时优先搜索自身目录,能绕过系统级 DLL 冲突 - 需要的文件就这四个:
MSVCP140.dll、VCRUNTIME140.dll、VCRUNTIME140_1.dll、MSVCP140_ATOMIC_WAIT.dll - 来源必须可信:从同事机器的
C:\Windows\System32\复制,或从已成功运行 MySQL 的机器提取,别从 DLL 下载站随便抓
最易被忽略的是:MySQL 服务启动失败时,错误日志里可能只写 The program can't start because MSVCP140.dll is missing,但真实缺的其实是 MSVCP140_ATOMIC_WAIT.dll——这个文件在 8.0.33+ 和全部 9.x 中才强制引入,查不到它,光装旧版 VC++ 就永远卡住。
C++免费学习笔记(深入):立即使用
在学习笔记中,你将探索 C++ 的入门与实战技巧!











