最近我的网络主机决定从 MySQL 切换到 MariaDB。从那时起,每当页面尝试连接到数据库时,我都会收到以下错误。 “目前不支持 5.6 之前的 MySQL 版本”。我使用的是 ASP.NET MVC,实体优先,安装了以下软件包 MySql.Data 8.0.28、MySql.Data.Entities 6.8.3、MySql.Data.EntityFramework 8.0.28、MySqlConnector 2.1.8。截至撰写本文时,它们都是最新的。
我的 web.config 文件具有以下内容:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="MySql.Data.MySqlClient"
type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework"/>
<provider invariantName="System.Data.SqlClient"
type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
</providers>
</entityFramework>
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL"
type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.0.28.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
</entityFramework>
我尝试过查找,但找不到太多关于此错误的信息。我不确定这是否是主机端的问题,还是我可以在我端修复的问题,因为所有软件包都是最新的。
在撰写本文时,MySql.Data 版本从 8.0.22 到当前的 8.0.29 均受此问题影响,并且将无法连接到 MariaDB。这是在 Bug #107452 中跟踪的。
当前的解决方法是使用版本 8.0.21