11

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?

surfmuggle
  • 5,527
  • 7
  • 48
  • 77
user2258740
  • 199
  • 2
  • 11

3 Answers3

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.

Anse
  • 1,573
  • 12
  • 27
  • 2
    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. – BadHorsie Jan 13 '21 at 19:36
  • 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. – Anse Jan 14 '21 at 19:59
  • 1
    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... – lifeofguenter Mar 21 '21 at 10:19
1

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.

David Wohlferd
  • 7,110
  • 2
  • 29
  • 56
0

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