MySQL Blog Archive
For the latest blogs go to
MySQL Connector/Python 8.0.23 has been released

Dear MySQL users,

MySQL Connector/Python 8.0.23 is the latest GA release version of the MySQL Connector Python 8.0 series. 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 8.0 or higher with the X Plugin enabled. For general documentation about how

To download MySQL Connector/Python 8.0.23, see the “General Availability (GA) Releases” tab at


Changes in MySQL Connector/Python 8.0.23 (2021-01-18, General Availability)

Functionality Added or Changed

  • Deprecated Python 2.7 support; a warning was added to describe Python 2.7 support being removed in Connector/Python 8.0.24.

    Previously, Connector/Python added client support for the MySQL Enterprise Edition SASL LDAP authentication plugin with SCRAM-SHA-1 as an authentication method. Connector/Python now also supports SCRAM-SHA-256 as an alternative authentication method for classic MySQL protocol connections. SASL-based LDAP authentication does not apply to clients running macOS.

  • Added SASL authentication protocol support using the GSSAPI (Kerberos) authentication method for the pure python implementation (this is not available for the c-ext version of Connector/Python).

    This functionality requires the GSSAPI pypi module, which provides both low-level and high-level wrappers around the GSSAPI C libraries. The GSSAPI pypi module requires MIT kerberos installed opn the system to function and request tickets to authenticate Connector/Python with the MySQL server when the user is IDENTIFIED WITH authentication_ldap_sasl and the authentication_ldap_sasl plugin is configured to use the GSSAPI mechanism.

    This also adds a new krb_service_principal option, which must be a string in the form “primary/instance@realm” such as “ldap/ldapauth@MYSQL.COM” where “@realm” is optional. The “@realm” defaults to the default realm, as configured in the krb5.conf file.

Bugs Fixed

  • Fixed the AttributeError raised when getting the connection ID from a closed CMySQLConnection. (Bug #31882419, Bug #100825)

  • Fixed support for named tuple (an invalid exception was generated) and dictionary cursors (incorrect type of result was returned). (Bug #29195610)

  • Fixed cursor.fetchone() and cursor.fetchmany() to comply with PEP 249, which specifies that an exception must be raised if the previous call to cursor.execute*() does not produce any result set or no call was issued yet. (Bug #26834307, Bug #87815)

  • Fixed the microsecond conversion from MySQL datetime to Python datetime when using fractional values with the C extension enabled. For example, 2016-10-20 15:40:23.8 from MySQL resulted in datetime.datetime(2016, 10, 20, 15, 40, 23, 8) instead of datetime.datetime(2016, 10, 20, 15, 40, 23, 800000). Thanks to Vilnis Termanis for the patch. (Bug #24938411, Bug #83479)