直接安装匹配位数和版本的microsoft visual c++ redistributable for visual studio 2015–2022(x64或x86)即可解决,mysql ≤ 8.0.28用2015–2019版,≥ 8.0.33或9.4+必须用2022版以满足msvcp140_atomic_wait.dll等新增依赖,安装后需重启命令行并执行mysqld --version验证。

MSVCP140.dll 缺失不是 MySQL 安装包坏了,而是 Windows 系统缺了它依赖的 Visual C++ 运行库——直接装对版本的 vc_redist.x64.exe 或 vc_redist.x86.exe 就能解决,别手动复制 DLL。
怎么选对 vc_redist.x64.exe 还是 vc_redist.x86.exe?
MySQL 启动失败时根本不会告诉你它是什么位数,得自己查:
- 进 MySQL 的
bin目录,运行file mysqld.exe(Windows 下可用 PowerShell 或 Git Bash) - 输出含
x64、AMD64或64-bit→ 装vc_redist.x64.exe - 输出含
x86或32-bit→ 装vc_redist.x86.exe,哪怕你系统是 Win11 64 位也得装这个 - 不确定?下
VisualCppRedist_AIO_x86_x64.exe(abbodi1406 维护),它自动覆盖全部位数和版本,无冲突
为什么装了 vc_redist 还报错?三个真实原因
安装程序点“完成” ≠ DLL 已就位,Windows 加载机制有延迟和路径优先级:
- 已打开的
mysql-installer.exe或命令行窗口必须彻底关闭重开——旧进程不会 reload 新 DLL - 执行
where msvcp140.dll,至少应返回一条路径(如C:\Windows\System32\msvcp140.dll);没输出说明根本没装进系统搜索路径 - 绿色版 MySQL 若是 32 位,但你只装了 x64 运行库,它会静默失败——必须补装
vc_redist.x86.exe
MySQL ≥ 8.0.33 或 9.4+ 报“找不到 MSVCP140.dll”,实际缺的是 MSVCP140_ATOMIC_WAIT.dll
这个文件在旧版 VC++ 运行库中不存在,但错误提示里完全不提它名字,纯靠猜会一直装错:
- 用
mysqld --console启动,日志里会明确打出MSVCP140_ATOMIC_WAIT.dll is missing - MySQL ≤ 8.0.28:装微软官方
vc_redist.x64.exe(2015–2019 合集版足够) - MySQL ≥ 8.0.33(尤其 9.4+):必须装
vc_redist.x64.exe(2022 版本),否则卡在这一步 - 便携版用户可把
MSVCP140_ATOMIC_WAIT.dll等四个文件(MSVCP140.dll、VCRUNTIME140.dll、VCRUNTIME140_1.dll、MSVCP140_ATOMIC_WAIT.dll)直接丢进 MySQL 的bin目录,比塞 System32 更稳
验证是否真修复成功,别信安装界面
最可靠的验证方式是绕过图形界面,直击核心进程:
- 开一个**全新**命令行(确保不是之前开的),执行
mysqld --version - 成功输出类似
mysqld Ver 9.4.0 for Win64 on x86_64 (MySQL Community Server - GPL),说明 DLL 加载链通了 - 仍失败?加
--console参数启动:mysqld --console,看日志里具体缺哪个 DLL 名字 - 千万别手动复制
msvcp140.dll到System32或bin目录——90% 的后续崩溃(比如0xc000007b)都这么来的
最容易被忽略的是:MySQL 9.4+ 对 MSVCP140_ATOMIC_WAIT.dll 是强制依赖,且错误提示不报真名。不看 --console 日志,光靠弹窗提示根本没法定位。











