MYSQL_OPT_SSL_ENFORCE option is
available for the
mysql_options() C API function
to indicate whether to require the connection to use SSL. If
enabled, an encrypted connection is attempted. If an encrypted
connection cannot be established, the connection attempt fails.
For more information, see mysql_options().
Functionality Added or Changed
Some dependencies between client-side plugin header files were removed:
MYSQL_PLUGIN_EXPORT macro required by
plugin declarations is now declared directly in
mysql/client_plugin.h instead of
getting the definition from
mysql/plugin.h. That macro was the only
thing required by client-side plugins and declared in
mysql/client_plugin.h in an
application no longer requires the application to also
mysql/plugin_trace.h no longer uses
C_MODE_END. Consequently, including
mysql/plugin_trace.h in an application
no longer requires the application to also include
Applications might require
my_global.h for other reasons, of
mysql_version.h file defines two new
LIBMYSQL_VERSION_ID, that indicate the string
and numeric forms of the client library version.
In the client library included with MySQL Server
distributions, these macros have the same values as
MYSQL_VERSION_ID. For example, in MySQL
In the client library included with Connector/C
MYSQL_VERSION_ID have the values of the
MySQL version on which the Connector/C distribution is
LIBMYSQL_VERSION_ID indicate the
Connector/C version. For example, Connector/C 6.1.3 is based
on MySQL 5.7.4, so
MYSQL_VERSION_ID have values of
LIBMYSQL_VERSION_ID have values of
In Connector/C distributions,
these functions returned the MySQL version, the same as in
Connector/C is now included in MySQL Installer (Windows).
When a connection is returned to the thread pool plugin, the
connection thread context must be cleaned up. Previously, this
was done using
COM_CHANGE_USER (which is like
mysql_change_user() C API
function). However, that operation reauthenticates, which is
unnecessary network roundtrip overhead in this context.
Now it is possible for client connection state to be reset in a more lightweight manner without causing reauthentication. The API is exposed publicly through these changes:
command (defined in
resetconnection command for the
Resetting a connection has effects similar to
mysql_change_user() or an
auto-reconnect except that the connection is not closed and
reopened, and reauthentication is not done. See
mysql_change_user()) and see
Controlling Automatic Reconnection Behavior).
The C client library could leak memory when client plugins were used. (Bug #17933308)
It was not possible to build client-side plugins using
referenced a macro defined in the
file, which is not included in Connector/C distributions.
References: See also Bug #17582168.
Upgrading Connector/C using the 64-bit version of the Windows MSI package occurred in the default folder because registry search logic was hardcoded to use the 32-bit registry. (Bug #17515067)
After the fix for Bug #16409270, it was not possible to
#include <mysql.h> following