WL#10524: Dynamic Linking of OpenSSL in MySQL Server for Windows
Affects: Server-8.0 — Status: Complete — Priority: Medium
MySQL Server will move to dynamic linking of OpenSSL in 8.0. This means that customers can choose which OpenSSL library to use with MySQL, e.g. due to security requirements imposed by the customer organization. Build perspective All who builds MySQL (pushbild, internal and external developers) will get OpenSSL either from the external System repository (if exists) or from a MySQL provided repository (for other platforms such as Windows). Usage perspective MySQL users will get correct libraries either by package dependencies (where this is supported) or they will be bundled with the MySQL distribution (for other platforms such as Windows and Mac). Windows specifics When installed we put all DLL's in the same directory as the binary (see https://blogs.msdn.microsoft.com/oldnewthing/20110620-00/?p=10393)
Executables need to be able to find libeay32.dll and ssleay32.dll at runtime. Windows has various ways of locating DLLs, see https://msdn.microsoft.com/en-us/library/7d83bc18.aspx. The common approach is to store DLLs in the directory where the executable is stored. The chosen solution should work for tarballs produced by pushbuild (e.g. third-party-openssl-1.0.2.k) and publicly available downloads of OpenSSL (e.g. https://slproweb.com/download/Win64OpenSSL-1_0_2k.exe) The only visible changes to external users will be that mysql executables and libraries are linked dynamically with OpenSSL .DLLs, and that these .DLLs will installed together with mysql executables.
Copyright (c) 2000, 2019, Oracle Corporation and/or its affiliates. All rights reserved.