Bug #69690 libmysql.dll is not present in bin directory
Submitted: 8 Jul 2013 14:12 Modified: 26 Jun 2014 10:08
Reporter: Emmanuel Merliot Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: Installing Severity:S3 (Non-critical)
Version:5.5.32 OS:Microsoft Windows (mysql-5.5.32-winx64.msi)
Assigned to: CPU Architecture:Any

[8 Jul 2013 14:12] Emmanuel Merliot
Description:
After a fresh install of mysql 5.5.32 / x64, all features selected, on a Windows 2008 Server R2.
The file libmysql.dll is not present in MYSQLHOME\\bin.
Also even if you have check the "Include Mysql Bin in PATH" during install, third party programs can't find libmysql.dll and may crash.
You have to manually copy this file from MYSQLHOME\\lib to MYSQLHOME\\bin to bypass the problem.

How to repeat:
Make a fresh install of mysql 5.5.32 / x64, all features selected, on a Windows 2008 Server R2, with mysql-5.5.32-winx64.msi.
Check the content of the subdirectory \\bin.

Suggested fix:
Change the location of the file libmysql.dll to \\bin.
Or duplicate it in the installation procedure from \\lib to \\bin.
[8 Jul 2013 15:54] MySQL Verification Team
Thank you for the bug report. libmysql.dll is the client library so its install directory is \lib. Thanks.
[8 Jul 2013 17:02] Emmanuel Merliot
Thank you for your answer.
Sorry to insist:
In previous versions (5.0.x and 5.1.x), libmysql.dll was in bin directory.
This was very convenient when you need it for your own app, because it was accessible via the PATH variable (with appropriate install option).
Otherwise, you need to copy it in your app current path, or make it available system-wide, copying it to bin, updating %PATH% or copying it to system32.
Sort of ugly things, IMHO: on a mysql update, you need to ensure the right version of libmysql.dll is located in the right directories ...
The risk is to use different versions of it for some apps, which won't be able to use enhancements or bugfixes.
[26 Jun 2014 10:08] Emmanuel Merliot
Hello Godofredo,

Using the 5.5.37 msi installer for win32, launching MySQL Server Instance Configuration Wizard, the end-user is asked to check "Include Bin Directory in Windows PATH".
In this wizard, it is explained that "Check this option to include the directory containing the server/client executables in the Windows PATH variable so they can be called from command line".
This is precisely a good idea to to this, for the reasons i explained before.
But even if the checkbox is ON, by choice of the end user, actually all the "client executables" are not in the PATH: libmysql.dll is missing.
So there is some kind of contradiction here.
Note that on Linux, the client programs and shared libraries are by default in the path.
On the other hand, Oracle and Sql Server client shared libraries are in the PATH after their respective installation.

Really i don't understand the interest of moving this client-side shared library in lib, subsequently not available in the path. It was in versions 5.0 and 5.1 and this was fine.