【发布时间】:2020-01-02 23:24:46
【问题描述】:
我正在使用 HeidiSQL 编辑一个 MYSQL 数据库,它询问我要使用哪个库进行编辑:
- libmysql-6.1.dll
- libmysql.dll
我怎么知道该使用哪一个?
【问题讨论】:
我正在使用 HeidiSQL 编辑一个 MYSQL 数据库,它询问我要使用哪个库进行编辑:
我怎么知道该使用哪一个?
【问题讨论】:
这些替代的 libmysql*.dll 和 libmariadb*.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.dll 或libmysql.dll,这是OP 的问题。在全新安装的 HeidiSQL 中,它默认为 libmariadb.dll,因此很难知道哪个 MySQL 库旨在成为“默认”并且与最新版本的 MySQL 8 最兼容。
libmysql-6 和libmysql 之间的区别实际上是什么。命名将表明一些“版本” - 但如果不是这种情况,也许它应该重命名为 libmysql-alt ?或libmysql-fix ? MariaDB 和 MySQL 不完全兼容,但我也不知道这对客户端库是否有任何影响......
虽然 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 等。但这不是这里的问题。
【讨论】: