应安装微软官方vc_redist.x64.exe(2015–2022合并版),因其完整包含vcruntime140.dll、msvcp140.dll及vcruntime140_1.dll;安装后须关闭所有MySQL相关进程并新开命令行执行mysqld --version验证。

看到“VCRUNTIME140.dll missing”就装 vc_redist.x64.exe
这不是某个旧版 VC++ 的问题,而是 MySQL 8.0+ 启动时明确依赖 vcruntime140.dll、msvcp140.dll 和(从 8.0.33 起)vcruntime140_1.dll 这三个文件。微软早已将它们打包进一个安装包:vc_redist.x64.exe(64 位系统用),覆盖 2015–2022 全部 v14.x 运行时符号。
别去搜“VC++ 2015 单独版”或“2017 离线包”——那些要么缺 vcruntime140_1.dll,要么版本太老,加载失败概率极高。必须认准微软官方直链下载的 vc_redist.x64.exe,文件名里带 x64 且发布日期在 2022 年之后。
装完不生效?先关掉所有 MySQL 相关进程
VC++ 运行库不会热加载进已运行的进程。如果你正开着 mysql-installer-community.exe,或者后台残留着 mysqld.exe、mysql-shell.exe,安装完 vc_redist.x64.exe 后点“下一步”,它仍会沿用旧的 DLL 搜索路径,报错照旧。
- 打开任务管理器,结束所有含
mysql-installer、mysqld、mysql-shell的进程 - 如果之前注册过服务,执行
sc query mysql;若状态不是4 STOPPED,先运行net stop mysql - 关闭当前命令行/安装窗口,新开一个命令行窗口再启动安装程序(确保 PATH 刷新)
验证是否真解决:别信弹窗,跑 mysqld --version
安装界面没报错 ≠ MySQL 能启动。最硬核验证方式是直接调用核心二进制:
打开 CMD,进入 MySQL 安装目录下的 bin 子目录(例如 C:\Program Files\MySQL\MySQL Server 8.0\bin),执行:
mysqld --version
成功输出类似 mysqld Ver 8.0.40 for Win64 on x86_64 才算真正通过。如果仍报错 The program can't start because VCRUNTIME140.dll is missing,说明存在更隐蔽的问题。
PATH 里混进旧 DLL 是最危险的坑
某些老软件(比如 Adobe CS6、某款游戏启动器)会把低版本 msvcp140.dll 或 vcruntime140.dll 放进 C:\Windows\System32 或 MySQL 安装目录。Windows 加载 DLL 时优先找这些路径,导致新版 vc_redist.x64.exe 安装的正确 DLL(在 C:\Windows\WinSxS 下)根本没机会被读到。
临时排查方法:
- 进 MySQL
bin目录,用depends.exe(Dependency Walker)打开mysqld.exe,看它实际加载的vcruntime140.dll路径在哪 - 如果指向
C:\Windows\System32\vcruntime140.dll,且文件属性显示 “Product Version” 是14.0.23026(旧版),就得手动删或重命名这个文件
这类冲突极难察觉,往往反复重装 VC++ 都无效——因为错误 DLL 始终挡在前面。



















