【问题标题】:When do I use libmysql-6.1.dll vs libmysql.dll?我什么时候使用 libmysql-6.1.dll 与 libmysql.dll?
【发布时间】:2020-01-02 23:24:46
【问题描述】:

我正在使用 HeidiSQL 编辑一个 MYSQL 数据库,它询问我要使用哪个库进行编辑:

  1. libmysql-6.1.dll
  2. libmysql.dll

我怎么知道该使用哪一个?

【问题讨论】:

    标签: mysql heidisql


    【解决方案1】:

    这些替代的 libmysql*.dlllibmariadb*.dll 库用于解决较新的 MySQL 和 MariaDB 服务器上的 (SSL) 连接问题。例如在 MySQL 5.7 上,一些用户 reported 与旧的 libmysql.dll 出现以下错误:

    ASN: bad other signature confirmation
    

    使用 libmariadb.dll 可能会导致另一个错误:

    Unknown SSL error (0x80090308)
    

    尤其是当您提供 SSL 证书时,您可能会遇到此类问题。

    对于这个和任何其他连接问题,HeidiSQL 提供了可供用户尝试的替代库。除此之外,我从未听说过这些库中的一个或另一个有任何其他优点或缺点。 p>

    【讨论】:

    • 不清楚您是否建议使用libmysql-6.1.dlllibmysql.dll,这是OP 的问题。在全新安装的 HeidiSQL 中,它默认为 libmariadb.dll,因此很难知道哪个 MySQL 库旨在成为“默认”并且与最新版本的 MySQL 8 最兼容。
    • 默认库是 libmariadb.dll,因为有几个 Heidi 版本。 OP 没有提到 MySQL v8,只是提到了 MySQL,对某些用户来说甚至暗示 MariaDB。但是,由于与 SSL、身份验证插件、版本不兼容等相关的无数问题,无法说哪一个是最合适的 - 对我来说也是如此。所以我的建议是,如果默认的不起作用,请尝试其他的。
    • 很高兴澄清libmysql-6libmysql 之间的区别实际上是什么。命名将表明一些“版本” - 但如果不是这种情况,也许它应该重命名为 libmysql-alt ?或libmysql-fix ? MariaDB 和 MySQL 不完全兼容,但我也不知道这对客户端库是否有任何影响......
    【解决方案2】:

    虽然 MariaDB 使用哪个库的问题似乎很明显(libmariadb.dll),但其他两个库该怎么做?

    作为线索,我查看了文件属性。

    libmysql.dll shows ProductVersion 5.6.6.0
    libmysql-6.1.dll shows ProductVersion 6.1.11.0
    

    鉴于这些文件包含在 HeidiSql v11.3 中,我得出结论它们不是通过构建 HeidiSql 生成的。那么,这些版本号是从哪里来的呢?

    C:\Program Files\MySQL\MySQL Server 8.0\lib 中四处寻找,我在那里也看到了一个 libmysql.dll(ProductVersion 8.0.25)。

    所以,我的猜测是 HeidiSql 从 MySQL 的构建中获取了这些文件。而较新的版本(libmysql-6.1.dll)可能是当前 MySQL 版本的更好选择。

    这确实留下了数字“6.1”来自哪里的问题。似乎没有 6.1 版本的 MySQL?

    它也没有说明哪一个最适合 MSSQL、PostgreSQL 等。但这不是这里的问题。

    【讨论】:

      猜你喜欢
      • 2017-03-26
      • 1970-01-01
      • 2016-12-03
      • 2013-08-22
      • 2021-09-07
      • 2011-01-03
      • 2020-12-07
      • 2010-09-21
      • 1970-01-01
      相关资源
      最近更新 更多