I'm using HeidiSQL to edit a MYSQL database, and it's asking which library I want to use for the edits:
- libmysql-6.1.dll
- libmysql.dll
How do I know which one to use?
I'm using HeidiSQL to edit a MYSQL database, and it's asking which library I want to use for the edits:
How do I know which one to use?
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.
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.