ASP.NET Core API误用SqlServer配置连接MySQL,导致连接失败求助
解决ASP.NET Core中MySQL连接失败的问题
嘿,一眼就揪出问题所在啦!你踩了个典型的「数据库驱动混用」大坑~
根本原因
你手里握着MySQL的连接字符串,但配置DbContext时却调用了UseSqlServer()方法——这个方法是EF Core专门用来连接Microsoft SQL Server的,和MySQL完全不兼容,这就是连接报错的核心原因!
一步步解决问题
安装MySQL专属的EF Core驱动
目前主流且维护活跃的MySQL EF Core实现是Pomelo的包,用.NET CLI或者NuGet包管理器安装都可以:# .NET CLI安装命令 dotnet add package Pomelo.EntityFrameworkCore.MySql修改DbContext配置代码
把原来的UseSqlServer替换为UseMySql,还要指定MySQL的服务器版本(推荐自动检测,省得手动匹配):services.AddDbContext<UsersContext>(options => options.UseMySql( Configuration.GetConnectionString("DatabaseUrl"), ServerVersion.AutoDetect(Configuration.GetConnectionString("DatabaseUrl")) ) );额外排查点(防止踩其他坑)
连接字符串格式没问题,但可以再确认这几点:- 主机地址
sql145.main-hosting.eu是否能正常ping通 - 服务器防火墙是否开放了3306端口(MySQL默认端口)
- 数据库用户
u230450666_aspt是否开启了远程访问权限(部分主机商默认关闭,需要在后台手动开启)
- 主机地址
如果还是连不上,建议先用MySQL Workbench直接测试你的连接字符串,确认网络和账号信息本身是正常的,排除数据库端的问题。
内容的提问来源于stack exchange,提问作者Alexandre Daubricourt
相关产品推荐
相关产品推荐

