This section describes both version releases, such as 8.0.34, along with notes specific to the two implementations (C Extension and Pure Python).
The following table summarizes the available Connector/Python versions. For series that have reached General Availability (GA) status, development releases in the series prior to the GA version are no longer supported.
MySQL Connectors and other MySQL client tools and applications now synchronize the first digit of their version number with the (highest) MySQL server version they support. For example, MySQL Connector/Python 8.0.12 would be designed to support all features of MySQL server version 8 (or lower). This change makes it easy and intuitive to decide which client version to use for which server version.
Connector/Python 8.0.4 is the first release to use the new numbering. It is the successor to Connector/Python 2.2.3.
Table 6.1 Connector/Python Version Reference
|Connector/Python Version||MySQL Server Versions||Python Versions||Connector Status|
|8.x Innovation||8.1, 8.0, 5.7, 5.6||3.12 (8.2.0), 3.11, 3.10, 3.9, 3.8||General Availability|
|8.0||8.0, 5.7, 5.6, 5.5||3.11, 3.10, 3.9, 3.8, 3.7, (3.6 before 8.0.29), (2.7 and 3.5 before 8.0.24)||General Availability|
|2.2 (continues as 8.0)||5.7, 5.6, 5.5||3.5, 3.4, 2.7||Developer Milestone, No releases|
|2.1||5.7, 5.6, 5.5||3.5, 3.4, 2.7, 2.6||General Availability|
|2.0||5.7, 5.6, 5.5||3.5, 3.4, 2.7, 2.6||GA, final release on 2016-10-26|
|1.2||5.7, 5.6, 5.5 (5.1, 5.0, 4.1)||3.4, 3.3, 3.2, 3.1, 2.7, 2.6||GA, final release on 2014-08-22|
MySQL server and Python versions within parentheses are known to work with Connector/Python, but are not officially supported. Bugs might not get fixed for those versions.
Connector/Python does not support the old MySQL Server authentication methods, which means that MySQL versions prior to 4.1 will not work.
On macOS x86_64 ARM: Python 3.7 is not supported with the c-ext implementation; note this is a non-default version of Python on macOS.
Connector/Python implements the MySQL client/server protocol two ways:
As pure Python; an implementation written in Python. Its dependencies are the Python Standard Library and Python Protobuf >= 4.21.1,<= 4.21.12.Note
EL7 and Ubuntu 16.04 do not provide Python Protobuf 3+ making the pure Python version unavailable on those platforms; use the C Extension variant there instead. You may have to --force the installation but may not use use_pure=True.
As a C Extension that interfaces with the MySQL C client library. This implementation of the protocol is dependent on the client library, but can use the library provided by MySQL Server packages (see MySQL C API Implementations).
Neither implementation of the client/server protocol has any third-party dependencies. However, if you need SSL support, verify that your Python installation has been compiled using the OpenSSL libraries.
By default, EL8 and Debian 10 supports TLSv1.2 and later when the policy level is set to DEFAULT. To support TLSv1 and TLSv1.1, the policy needs to be changed to LEGACY. This means that a default EL8/DEB10 setup cannot make connections with TLSv1 and TLSv1.1 using the C-extension. Other platforms may change their default behavior in the future.
The TLSv1.0 and TLSv1.1 connection protocols are deprecated as of Connector/Python 8.0.26 and support for them was removed in Connector/Python 8.0.28.
Support for distutils was removed in Connector/Python 8.0.32.
Python terminology regarding distributions:
Built Distribution: A package created in the native packaging format intended for a given platform. It contains both sources and platform-independent bytecode. Connector/Python binary distributions are built distributions.
Source Distribution: A distribution that contains only source files and is generally platform independent.