必须安装微软官方 vc_redist.x64.exe(非旧版单组件包),因其含 mysql 8.0.33+ 必需的 vcruntime140_1.dll;安装前须结束所有 mysql 进程,安装后需新开管理员命令行验证 mysqld --version。

看到“VCRUNTIME140.dll missing”就装 vc_redist.x64.exe
这不是某个组件没装对,而是 MySQL 8.0+ 明确依赖 Visual C++ 2015–2022 运行时中的特定符号。报错里出现 VCRUNTIME140.dll、MSVCP140.dll 或 vcruntime140_1.dll 中任意一个,都指向同一个根源:缺官方合并版运行库。
必须安装微软发布的 vc_redist.x64.exe(64 位系统),不能用“VC++ 2015 单独版”或“2017 离线包”——那些旧包不含 vcruntime140_1.dll(MySQL 8.0.33+ 强制需要),也不保证符号兼容性。
- 下载地址认准微软直链:https://www.php.cn/link/849c7b9fe5dfea5e93665c8bbfba04f0
- 文件名必须含
vc_redist.x64.exe,大小约 15–20MB,安装过程无交互,静默完成 - 32 位系统极罕见,仅当确认 MySQL 安装包是 x86 版本时才用
vc_redist.x86.exe
装完仍报错?先关掉所有 MySQL 相关进程
VC++ 运行库不会热加载进已运行的进程。如果安装界面卡在报错页,大概率是因为 mysql-installer-community.exe、后台残留的 mysqld.exe 或 mysql-shell.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 MSVCP140.dll is missing,说明位数不匹配(x64 系统装了 x86 运行库),或 PATH 里混进了旧 DLL —— 某些老软件会把低版本 MSVCP140.dll 放进 C:\Windows\System32,Windows 优先加载它,导致新版库被跳过。
PATH 里混进旧 DLL 是最隐蔽的坑
临时排查方法:进 MySQL bin 目录,用 depends.exe(Dependency Walker)打开 mysqld.exe,看它实际加载的 MSVCP140.dll 路径在哪。
- 如果指向
C:\Windows\System32\MSVCP140.dll,且文件属性显示 Product Version 是14.0.23026(旧版),就得手动删或重命名这个文件 - 新版 VC++ 的 DLL 实际在
C:\Windows\WinSxS下,但 Windows 加载顺序会让 System32 里的同名文件“劫持”加载 - 不建议随便复制单个 DLL 到 System32 —— 容易引发版本冲突,一劳永逸的办法还是只用官方
vc_redist.x64.exe并清理干扰项
真正卡住的地方往往不是没装,而是装了但被旧文件挡住了路。











