MYSQL_OPT_SSL_ENFORCEoption 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().
Some dependencies between client-side plugin header files were removed:
MYSQL_PLUGIN_EXPORTmacro required by plugin declarations is now declared directly in
mysql/client_plugin.hinstead of getting the definition from
mysql/plugin.h. That macro was the only thing required by client-side plugins and declared in server-side header
mysql/plugin.h, so including
mysql/client_plugin.hin an application no longer requires the application to also include
mysql/plugin_trace.hno longer uses
C_MODE_END. Consequently, including
mysql/plugin_trace.hin an application no longer requires the application to also include
Applications might require
my_global.hfor other reasons, of course. (Bug #17582168)
mysql_version.hfile defines two new macros,
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 5.7.4,
In the client library included with Connector/C distributions,
MYSQL_VERSION_IDhave the values of the MySQL version on which the Connector/C distribution is based, whereas
LIBMYSQL_VERSION_IDindicate the Connector/C version. For example, Connector/C 6.1.3 is based on MySQL 5.7.4, so
MYSQL_VERSION_IDhave values of
LIBMYSQL_VERSION_IDhave values of
In Connector/C distributions,
LIBMYSQL_VERSION_ID. Previously, these functions returned the MySQL version, the same as in MySQL distributions.
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 the
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:
COM_RESET_CONNECTIONprotocol command (defined in
mysql_reset_connection()C API function
resetconnectioncommand for the mysql client
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 Connector/C because
client_plugin.hreferenced a macro defined in the
plugin.hfile, which is not included in Connector/C distributions. (Bug #17582228)
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 <windows.h>. (Bug #17514554)