升级Embedded MySQL 8.0.17后启动失败,报错错误码-1073741515
升级嵌入式MySQL至8.0.17后启动失败(错误码-1073741515)解决方案
以下是针对该问题的具体排查和解决步骤:
1. 适配wix-embedded-mysql版本
你当前使用的wix-embedded-mysql 4.6.2对MySQL 8.0.17的支持存在兼容性问题,建议升级到更高版本(如4.10.0及以上,经测试兼容8.0.x系列)。修改Maven依赖:
<dependency> <groupId>com.wix</groupId> <artifactId>wix-embedded-mysql</artifactId> <version>4.10.0</version> <scope>test</scope> </dependency>
2. 安装必要的VC++运行库
错误码-1073741515对应Windows系统的0xC0000135,表示缺少MySQL 8.0依赖的Microsoft Visual C++ 2019 Redistributable。根据你的系统架构(x86/x64)下载安装对应的运行库即可解决启动依赖缺失问题。
3. 调整MySQL认证插件配置
MySQL 8.0默认启用caching_sha2_password认证插件,而旧版wix可能未适配该插件。在启动嵌入式MySQL时强制指定兼容的认证插件:
EmbeddedMysql mysqld = EmbeddedMysql.anEmbeddedMysql() .addSchema("your_test_schema") .setServerConfig(ServerConfig.aServerConfig() .withVersion(Version.v8_0_17) .withSysVar("default_authentication_plugin", "mysql_native_password")) .start();
4. 排查端口与权限问题
- 检查配置的MySQL端口(默认3306)是否被其他进程占用,可通过修改端口号验证:
.withPort(3307) - 确保运行测试的进程拥有足够权限,能够创建临时文件并启动服务,避免因权限不足导致启动失败。
5. 清理wix缓存
wix-embedded-mysql会将MySQL二进制包缓存到本地临时目录,若缓存文件损坏可能导致启动失败。删除缓存目录(Windows下为%USERPROFILE%\.wix\embedded-mysql)后,重新运行测试,让wix重新下载完整的MySQL 8.0.17包。
内容的提问来源于stack exchange,提问作者Shubham Shekhar
相关产品推荐
相关产品推荐

