目前不支持 5.6 之前的 MySQL 版本

问题描述 投票:0回答:3

最近我的网络主机决定从 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>

我尝试过查找,但找不到太多关于此错误的信息。我不确定这是否是主机端的问题,还是我可以在我端修复的问题,因为所有软件包都是最新的。

c# mysql asp.net entity-framework mariadb
3个回答
2
投票

在撰写本文时,MySql.Data 版本从 8.0.22 到当前的 8.0.29 均受此问题影响,并且将无法连接到 MariaDB。这是在 Bug #107452 中跟踪的。

当前的解决方法是使用版本 8.0.21


2
投票

作为@Richard 提到的一个错误,有一个解决方法可以传递此错误。 它实际上是 MySql.Data 包的一个错误,其中存在错误的版本解析和比较次要编号是否有 2 位数字。 因此,您所需要做的就是在 my.ini 文件中设置版本号(例如 9.9.0): 重新启动 MariaDB 服务器, 完成!


0
投票

像这样设置你的 MariaDB 配置文件:

[mysqld]
version=10.4.9.0

我在这里找到了这个技巧:服务器系统变量

© www.soinside.com 2019 - 2024. All rights reserved.