MySQL Connector/C++ 1.1.8 has been released

Dear MySQL Users,

A new GA (general availability) version of MySQL Connector/C++ has
been made available: MySQL Connector/C++ 1.1.8 GA. The MySQL
Connector/C++ provides a C++ API for connecting client applications to
the MySQL Server 5.5 or newer.

You can download the production release at:

MySQL Connector C++ (Commercial) will be available for download on the
My Oracle Support (MOS) website. This release will be available on eDelivery
(OSDC) in next month’s upload cycle.

The MySQL driver for C++ offers an easy to use API derived from JDBC
4.0. MySQL Workbench has used it successfully for years.

We have improved the driver since the last GA release. Please see the
documentation and the CHANGES file in the source distribution for a
detailed description of bugs that have been fixed. Bug descriptions are
also listed below.



Changes in MySQL Connector/C++ 1.1.8 (2016-12-16, General

Security Notes

* OpenSSL is ending support for version 1.0.1 in December
2016; see
Consequently, Connector/C++ Commercial builds now use
version 1.0.2 rather than version 1.0.1, and the linked
OpenSSL library for the Connector/C++ Commercial has been
updated from version 1.0.1 to version 1.0.2j. For a
description of issues fixed in this version, see
This change does not affect Oracle-produced MySQL
Community builds of Connector/C++, which use the yaSSL
library instead.

Functionality Added or Changed

* Connector/C++ now supports a OPT_TLS_VERSION connection
option for specifying the protocols permitted for
encrypted connections. The option value is string
containing a comma-separated list of one or more protocol
names. Example:
connection_properties[“OPT_TLS_VERSION”] = sql::SQLString(“TLSv1.1,TLS

The permitted values depend on the SSL library used to
compile MySQL: TLSv1, TLSv1.1, TLSv1.2 if OpenSSL was
used; TLSv1 and TLSv1.1 if yaSSL was used. The default is
to permit all available protocols.
For more information about connection protocols in MySQL,
see Secure Connection Protocols and Ciphers
( (Bug #23496967)

* Connector/C++ now supports a OPT_SSL_MODE connection
option for specifying the security state of the
connection to the server. Permitted option values are
SSL_MODE_VERIFY_IDENTITY. These values correspond to the
values of the –ssl-mode option supported by MySQL client
programs; see Command Options for Secure Connections
For example, this setting specifies that
the connection should be unencrypted:
connection_properties[“OPT_SSL_MODE”] = sql::SSL_MODE_DISABLED;

The OPT_SSL_MODE option comprises the capabilities of the
sslEnforce and sslVerify connection options.
Consequently, both of those options are now deprecated.
(Bug #23496952)

* Connector/C++ now supports OPT_MAX_ALLOWED_PACKET and
OPT_NET_BUFFER_LENGTH connection options. Each option
takes a numeric value. They correspond to the
mysql_options() C API function.

* Issues compiling Connector/C++ under Visual Studio 2015
were corrected.

Bugs Fixed

* A segmentation fault could occur for attempts to insert a
large string using a prepared statement. (Bug #23212333,
Bug #81213)

* The certification verification checks that are enabled by
the verifySSL connection option were not performed
properly. (Bug #22931974)

* Connector/C++ failed to compile against a version of the
MySQL C API older than 5.7. (Bug #22838573, Bug #80539,
Bug #25201287)

On Behalf of the MySQL/ORACLE RE Team
Daniel Horecki

MySQL Connector/Python 2.1.5 GA has been released

Dear MySQL users,

MySQL Connector/Python 2.1.5 GA is a third GA version of 2.1 release
series of the pure Python database driver for MySQL. It can be used for
production environments.

MySQL Connector/Python version 2.1.5 GA is compatible with MySQL Server
versions 5.5 and greater. Python 2.6 and greater as well as Python 3.3
and greater are supported. Python 2.4, 2.5 and 3.1, 3.2 are not

MySQL Connector/Python 2.1.5 is available for download from:

The ChangeLog file included in the distribution contains a brief summary
of changes in MySQL Connector/Python 2.1.5. For a more complete list of
changes, see below or online at:


Changes in MySQL Connector/Python 2.1.5 (2016-12-15, General

Bugs Fixed

* Incorrect logic for handling EOF packets caused MySQL
Utilities replication to fail. (Bug #25111218)

* Using the C Extension, connection failure occurred when
the user name or password contained Unicode characters.
(Bug #21656282)

* For connections established using the use_pure=True
parameter, queries that returned more than 4096 columns
produced an InterfaceError. (Bug #21530841)

* Using Python 3.3, connection failure occurred if the
option_groups parameter named multiple groups. (Bug

* Using executemany() to execute an INSERT INTO … SELECT
statement produced an InterfaceError. (Bug #21477493)

* If a call to set_charset_collation() failed, the
character set became invalid rather than being unchanged.
(Bug #21476495)

The source distribution includes the manual in various formats under
the docs/ folder.

Reporting Bugs
We welcome and appreciate your feedback and bug reports:

On Behalf of the MySQL/ORACLE RE Team,
Piotr Obrzut

MySQL Connector/ODBC 5.3.7 has been released

Dear MySQL users,

MySQL Connector/ODBC 5.3.7, a new version of the ODBC driver for
the MySQL database management system, has been released.

The available downloads include both a Unicode driver and an ANSI
driver based on the same modern codebase. Please select the driver type
you need based on the type of your application – Unicode or ANSI.
Server-side prepared statements are enabled by default. It is suitable
for use with any MySQL version from 5.5.

This is the fourth release of the MySQL ODBC driver conforming to the
ODBC 3.8 specification. It contains implementations of key 3.8 features,
including self-identification as a ODBC 3.8 driver, streaming of output
parameters (supported for binary types only), and support of the
SQL_ATTR_RESET_CONNECTION connection attribute (for the Unicode driver

Also, Connector/ODBC 5.3 introduces a GTK+-based setup library
providing a GUI DSN setup dialog on some Unix-based systems, currently
included in the Debian 7/8, EL6/OL6, EL7/OL7 (64-bit only), Fedora 24/25,
FreeBSD 10/11, SLES 12, Ubuntu 12/14/16 packages. Other new
features in the 5.3 driver are FileDSN and Bookmarks support.

The release is now available in source and binary form for a number of
platforms from our download pages at

For information on installing, please see the documentation at


The MySQL Connectors team at Oracle

Changes in MySQL Connector/ODBC 5.3.7      (2016-12-13)

Security Notes

* Security Fix: The linked OpenSSL library for
Connector/ODBC Commercial 5.3.7 has been updated from
version 1.0.1q to version 1.0.2j. Versions of OpenSSL
prior to 1.0.2j are reported to be vulnerable to
This change does not affect the Oracle-produced MySQL
Community build of Connector/ODBC 5.3.7, which uses the
yaSSL library instead. (Bug #24753385, CVE-2016-6304)

Functionality Added or Changed

* A new configuration option, SSL_MODE, has been introduced
for setting the SSL mode of the connection to the server.
This option overrides the now deprecated sslverify and
SSL_ENFORCE options. See Connector/ODBC DSN Configuration
nfig-options) for details. (Bug #23497043)

* Added new configuration option NO_TLS_1_0, NO_TLS_1_1,
and NO_TLS_1_2 for controlling TLS versions for
encrypting connecting. See Connector/ODBC DSN
Configuration Options
nfig-options) for details. For more information about
connection protocols in MySQL, see Secure Connection
Protocols and Ciphers
(Bug #23496903)

Bugs Fixed

* An assertion failure occurred when mysql_stmt_close()
html) was called on a broken connection. (Bug #25109356)

* Connector/ODBC could not be built with CMake 3.0.2 or
later. The build script has been fixed to correct the
issue. (Bug #22746557)

On behalf on the MySQL RE Team.
-Sreedhar S

Getting started with ASP.NET Core and MySQL Connector/NET

This tutorial shows how to read information from MySQL Sakila database in an ASP.NET Core application using Connector/NET Core to explore the possibility to run this application on any .NET Core supported environment as Windows, Linux, and Mac.


Windows and Visual Studio 2015

The first step is to create an ASP.NET Core Web Application (.NET Core) type project and name it MvcSakilaCore

Note: the project name should not contain spaces



Select Web Application template and No Authentication:


The new project will be created:


Press F5 to run the application:


Stop the running application to add some code.

Creating the data model

Create a new folder named “Models” where it will store the database access:


Installing MySQL Connector/NET Core package

In order to use MySQL Connector/NET it’s required to add its nuget package.

In Solution Explorer, right-click MvcSakilaCore project > Manage NuGet Packages…
In the NuGet dialog, Browse “MySql.Data” package using version 6.10.0 or above:


Adding the connection string

Add your connection string in the appsettings.json file:


Adding data model classes

For this example a Film class will be used. It contains the database fields as properties we want to show in our application.

Add a new class named “Film” inside Models folder:

Create a new SakilaContext class that will contains the connections and Sakila database entities:

In order to be able to use our SakilaContext it’s required to register the instance as a service in our application. To do this add the code line in the Startup.cs file:


Adding Film Controller

In Solution Explorer, right-click Controllers > Add > New Item… > MVC Controller Class
Name the controller FilmsController:



Change the FilmsController code to this:

Creating the Films View

Start creating the Films folder under Views:

In Solution Explorer, right click Views > Films > Add > New Item… > ASP.NET > MVC View Page


Add the following code into the new Index.cshtml view file:

Before run the application, add the Films path to the running url.

In Solution Explorer, right click MvcSakilaCore > Properties > Debug > Launch URL > Films:


Run the application (press F5) and the Films list should be displayed:



MySQL Connector/NET 6.10.0 alpha has been released

MySQL Connector/Net 6.10.0 alpha is the first release to provide Entity
Framework Core 1.1 support and to enable compression in the .NET Core
version of the driver for enhanced cross-platform application
development.To download MySQL Connector/Net 6.10.0 alpha, see the “Development
Releases” tab at


Known limitation of this release: DbContext within an application can
emit an unhandled exception. Due to this limitation,

MySQL Connector/Net 6.9.9 is the preferred version to use with EF6.

Functionality Added or Changed

  • Support for compression was extended to the .NET Core version of the driver.
  • Added support for Entity Framework (EF) Core 1.1.


Packages are available at:

Enjoy and thanks for the support!

On behalf of the MySQL/Oracle Release Engineering Team
Prashant Tekriwal

MySQL Connector/Python 2.2.2 m3 Development Release has been released

MySQL Connector/Python 2.2.2 M3 is the third development release of the MySQL Connector Python 2.2 series. This series adds support for the new X DevAPI. The X DevAPI enables application developers to write code that combines the strengths of the relational and document models using a modern, NoSQL-like syntax that does not assume previous experience writing traditional SQL.

To learn more about how to write applications using the X DevAPI, see For more information about how the X DevAPI is implemented in MySQL Connector/Python, and its usage, see

Please note that the X DevAPI requires at least MySQL Server version 5.7.12 or higher with the X Plugin enabled. For general documentation about how to get started using MySQL as a document store, see

To download MySQL Connector/Python 2.2.2 M3, see the “Development Releases” tab at

We are working on the github upload, it should be available soon.


Changes in MySQL Connector/Python 2.2.2 (2016-12-01, Milestone 3)
* Functionality Added or Changed

* Bugs Fixed Functionality Added or Changed

* If the MySQL server is configured to support secure connections, Connector/Python now attempts to establish a secure (encrypted) connection by default, falling back to an unencrypted connection otherwise. This is behavior similar to the –ssl-mode=PREFERRED option supported by MySQL client programs.
The following TLS/SSL options have been implemented for the mysqlx URI schema. All require Python 2.7.9 or higher.

+ ssl-enable: This option enforces SSL connections. If given, a connection attempt must be able to establish a secure connection or the attempt fails.

+ ssl-ca: This option is used to verify the server certificate.

+ ssl-cert, ssl-key: These options are used to pass the client certificate and key, but the server currently does not validate the client using these.
The ssl-enable parameter can be specified in a parameter dictionary or URL, like this:
mysqlx.get_session({“user”: “root”, “host”: “localhost”, “port”: 33060,
“password”: “pass”, “ssl-enable”: True})

The other parameters are used similarly. In a URL, path name values should be given within parentheses; for example, ssl-cert=(path_name). (Bug #24954646)

* There is now a standard API to create a table: Schema objects have a create_table function. It throws an error if the table exists.

* For any method that takes a value list of parameters for its argument, there is now more flexibility with how the parameters can be specified: Either as a value list or a list of individual parameters. For example, these method calls are the same:
Collection.add([{“a”: 27}, {“a”: 28}])
Collection.add({“a”: 27}, {“a”: 28})
* For Schema objects, get_view, create_view, alter_view,
and drop_view functions were added to support retrieval,
create, alter, and drop operations on View objects.

* Unix domain socket files are now supported as a connection transport. The socket file can be specified in a parameter dictionary or URL, like this:
mysqlx.get_session({“user”: “root”, “password”: “pass”,
“socket”: “/path/to/socket”})

Bugs Fixed

* For a user created with REQUIRE SSL, establishing an SSL connection by specifying –ssl-key but not –ssl-ca or
–ssl-cert fails for standard MySQL client programs. The same connection configuration was (improperly) permitted in Connector/Python. (Bug #24953032)

* Connection failures due to an improper SSL CA resulted in an uninformative error message. (Bug #24948054)

* Using a schema object to alter a view failed if the view selected from a non-INFORMATION_SCHEMA table and it was altered to select from an INFORMATION_SCHEMA table. (Bug

* schema.create_collection() with an empty collection name threw an improper error. (Bug #24520850)


Online: The source distribution includes the manual in various formats under the docs/ folder.

Reporting Bugs

We welcome and appreciate your feedback and bug reports:

On Behalf of the MySQL/ORACLE RE Team,
Balasubramanian Kandasamy