When do I use libmysql-6.1.dll vs libmysql.dll?
Asked Answered
S

3

12

I'm using HeidiSQL to edit a MYSQL database, and it's asking which library I want to use for the edits:

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

How do I know which one to use?

Semimonthly answered 2/1, 2020 at 23:24 Comment(0)
C
6

These alternative libmysql*.dll and libmariadb*.dll libraries are there to solve (SSL) connectivity issues on newer MySQL and MariaDB servers. For example on MySQL 5.7, some users reported the following error with the older libmysql.dll:

ASN: bad other signature confirmation

Using libmariadb.dll may cause another error:

Unknown SSL error (0x80090308)

Especially when you provide a SSL certificate, you may run into such issues.

For this and any other connectivity issue, HeidiSQL provides alternative libraries the user can try. Apart from that, I never heard of any other advantage or disadvantage of one or another of these libraries.

Calhoun answered 3/1, 2020 at 7:30 Comment(3)
It's not very clear if you're suggesting one should use libmysql-6.1.dll or libmysql.dll, which was OP's question. On a fresh install of HeidiSQL it defaults to libmariadb.dll so it's hard to know which MySQL library is intended to be the 'default' and most compatible with the latest version(s) of MySQL 8.Rabelais
The default library is libmariadb.dll, since several Heidi versions. The OP did not mention MySQL v8, just MySQL, which for some users even imply MariaDB. However, due to a myriad of issues, related to SSL, authentication plugins, version incompatibilities and more, it's impossible to say which one is the best fitting one - for me as well. So my recommendation is to try out the others if the default one does not work.Calhoun
Would be great to get clarification what the differences between libmysql-6 and libmysql are actually. The naming would indicate something "version" - but if its not the case maybe it should be just renamed to libmysql-alt ? or libmysql-fix ? MariaDB and MySQL are not fully compatible, but I also have no idea if that even makes any difference on the client library...Foldaway
A
2

While the question of which library to use for MariaDB seems pretty obvious (libmariadb.dll), what to make of the other two?

As a clue, I looked a the file properties.

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

Given that these files are included in HeidiSql v11.3, I concluded they are NOT generated by building HeidiSql. So, where did those version numbers come from?

Poking around in C:\Program Files\MySQL\MySQL Server 8.0\lib, I see a libmysql.dll there too (ProductVersion 8.0.25).

So, my guess is that HeidiSql acquired those files from builds of MySQL. And the newer one (libmysql-6.1.dll) is probably the better bet for current releases of MySQL.

That does leave open the question of where the number "6.1" came from. It doesn't appear there was ever a 6.1 release of MySQL?

And it also doesn't address which one is best for MSSQL, PostgreSQL, etc. But that wasn't the question here.

Astaire answered 9/8, 2021 at 21:50 Comment(0)
E
2

For newer versions of MySQL (8.x) -> use MariaDB.dll

Etalon answered 5/3, 2023 at 14:38 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.