MySQL Connector/C++ is a MySQL database connector for C++ applications that connect to MySQL servers. Connector/C++ can be used to access MySQL servers that implement a document store, or in a traditional way using SQL statements. The preferred development environment for Connector/C++ is to enable development of C++ applications using X DevAPI, or plain C applications using X DevAPI for C, but Connector/C++ also enables development of C++ applications that use the legacy JDBC-based API from Connector/C++ 1.1.
Connector/C++ applications that use X DevAPI or X DevAPI for C require a MySQL server that has X Plugin enabled. Connector/C++ applications that use the legacy JDBC-based API neither require nor support X Plugin.
For more detailed requirements about required MySQL versions for Connector/C++ applications, see Platform Support and Prerequisites.
For notes detailing the changes in each release of Connector/C++, see MySQL Connector/C++ Release Notes.
MySQL Connector/C++ offers the following benefits for C++ users compared to the MySQL C API provided by the MySQL client library:
Convenience of pure C++.
-
Support for these application programming interfaces:
X DevAPI
X DevAPI for C
Legacy JDBC 4.0-based API
Support for the object-oriented programming paradigm.
Reduced development time.
Licensed under the GPL with the FLOSS License Exception.
Available under a commercial license upon request.
Connector/C++ implements X DevAPI, which enables connecting to MySQL servers that implement a document store with X Plugin. X DevAPI also enables applications to execute SQL statements.
Connector/C++ also implements a similar interface called X DevAPI for C for use by applications written in plain C.
For general information about X DevAPI, see X DevAPI User Guide. For reference information specific to the Connector/C++ implementation of X DevAPI and X DevAPI for C, see MySQL Connector/C++ X DevAPI Reference in the X DevAPI section of MySQL Documentation.
Connector/C++ implements the JDBC 4.0 API, if built to include the legacy JDBC connector:
Connector/C++ binary distributions include the JDBC connector.
If you build Connector/C++ from source, the JDBC connector is not built by default, but can be included by enabling the
WITH_JDBC
CMake option. See Chapter 4, Installing Connector/C++ from Source.
The Connector/C++ JDBC API is compatible with the JDBC 4.0 API. Connector/C++
does not implement the entire JDBC 4.0 API, but does feature
these classes: Connection
,
DatabaseMetaData
,
Driver
,
PreparedStatement
,
ResultSet
,
ResultSetMetaData
,
Savepoint
,
Statement
.
The JDBC 4.0 API defines approximately 450 methods for the classes just mentioned. Connector/C++ implements approximately 80% of these.
The legacy JDBC connector in Connector/C++ 9.0 is based on the connector provided by Connector/C++ 1.1. For more information about using the JDBC API in Connector/C++ 9.0, see MySQL Connector/C++ 1.1 Developer Guide.
To see which platforms are supported, visit the Connector/C++ downloads page.
On Windows platforms, Commercial and Community Connector/C++ distributions require the Visual C++ Redistributable for Visual Studio. The Redistributable is available at the Visual Studio Download Center; install it before installing Connector/C++. The acceptable Redistributable versions depend on your Connector/C++ version:
Connector/C++ 8.0.19 and higher: VC++ Redistributable 2017 or higher.
Connector/C++ 8.0.14 to 8.0.18: VC++ Redistributable 2015 or higher.
The following requirements apply to building and running Connector/C++ applications, and to building Connector/C++ itself if you build it from source:
-
To run Connector/C++ applications, the MySQL server requirements depend on the API the application uses:
Connector/C++ applications that use X DevAPI or X DevAPI for C require a server from MySQL 8.0.11 or later with X Plugin enabled (default).
Applications that use the JDBC API support MySQL 8.0 or higher. X Plugin is neither required nor supported.
-
To build Connector/C++ applications:
The MySQL version does not apply.
-
On Windows, Microsoft Visual Studio is required. The acceptable MSVC versions depend on your Connector/C++ version and the type of linking you use:
Connector/C++ 8.0.20 and higher: Same as Connector/C++ 8.0.19, with the addition that binary distributions are also compatible with MSVC 2017 using the static X DevAPI connector library. This means that binary distributions are fully compatible with MSVC 2019, and fully compatible with MSVC 2017 with the exception of the static legacy (JDBC) connector library.
Connector/C++ 8.0.19: Connector/C++ binary distributions are compatible with projects built using MSVC 2019 (using either dynamic or static connector libraries) or MSVC 2017 (using dynamic connector libraries).
Connector/C++ 8.0.14 to 8.0.18: MSVC 2017 or 2015.
Connector/C++ prior to 8.0.14: MSVC 2015.
-
To build Connector/C++ from source:
-
The MySQL C API client library may be required:
For Connector/C++ built without the JDBC connector (which is the default), the client library is not needed.
To build Connector/C++ with the JDBC connector, configure Connector/C++ with the
WITH_JDBC
CMake option enabled. In this case, the JDBC connector requires a client library from MySQL 8.0 or later.
-
On Windows, Microsoft Visual Studio is required. The acceptable MSVC versions depend on your Connector/C++ version:
Connector/C++ 8.0.19 and higher: MSVC 2019 or 2017.
Connector/C++ 8.0.14 to 8.0.18: MSVC 2017 or 2015.
Connector/C++ prior to 8.0.14: MSVC 2015.
-