MySQL 8.4 Release Notes  /  Changes in MySQL 8.4.8 (2026-01-20, LTS Release)

Changes in MySQL 8.4.8 (2026-01-20, LTS Release)

Note

These release notes were created with the assistance of MySQL HeatWave GenAI.

Compilation Notes

  • The cmake macro MYSQL_CHECK_PROTOBUF did not properly handle multiple calls when using system protobuf. Errors were returned similar to the following:

            ADD_LIBRARY cannot create imported target
            "ext::libprotobuf" because another target with the same
            name already exists.

    (Bug #38417986)

Configuration Notes

  • The mysqlx_port server variable was not persisted in the my.ini file when set through the Type and Networking configuration page. (Bug #38728671)

InnoDB Notes

  • InnoDB: InnoDB redo logging error messages now include the current LSN and redo log capacity information. A new warning code ER_IB_WRN_REDO_DISABLED_INFO is added which includes the current LSN. A new error code ER_IB_MSG_LOG_WRITER_WAIT_ON_NEW_LOG_FILE_INFO is added to include the current log capacity and the current log capacity used. The MONITOR output has been enhanced to include redo log capacity details and current log capacity.

    The warning ER_IB_WRN_REDO_DISABLED was removed, as was the error ER_IB_MSG_LOG_WRITER_WAIT_ON_NEW_LOG_FILE. (Bug #37645185)

  • Fixed an issue related to bulk inserts. (Bug #38208188)

Optimizer Notes

  • Fixed an issue relating to Common Table Expressions (CTE). (Bug #38573285)

  • Fixed an issue related to executing specific SQL queries. (Bug #38448700)

  • Fixed an issue relating to SHOW CREATE TABLE. (Bug #38298692)

  • Queries which used REGEXP took longer to execute as prepared statements than as direct queries. (Bug #114056, Bug #36326728)

Packaging Notes

  • For platforms on which OpenSSL libraries are bundled, the linked OpenSSL library for MySQL Server has been updated to version 3.0.18. For more information, see OpenSSL 3.0 Series Release Notes. (Bug #38632932)

Pluggable Authentication

  • Connecting to a MySQL server with a non-existing user now consistently returns an "Access denied for user" error message, regardless of the username length or MySQL version. Previously, errors were returned similar to the following:

            ERROR 1045 (28000): Access denied for user
            'foo'@'localhost' (using password: NO), ERROR
            1524 (HY000): Plugin 'mysql_native_password' is not
            loaded

    (Bug #36527984)

Security Notes

  • Fixed an issue relating to authentication. (Bug #118447, Bug #38077617)

Bugs Fixed

  • InnoDB: Under certain circumstances, when using the que_eval_sql interface, a race condition could occur. (Bug #118705, Bug #38310595)

  • Running SET PERSIST on a system variable after an upgrade can result in duplicate variable entries across different sections in mysqld-auto.cnf. (Bug #38680162)

  • Binary log purged before persisted binlog_expire_* options were loaded. (Bug #38554467)

  • When 2 of 6 instances in a geographically dispersed InnoDB Cluster lost connectivity, the primary server became unresponsive, causing the COMMIT and INSERT operations to become unresponsive as well. (Bug #38380392)

  • mysqldump's --order-by-primary option sorted data by every index on the table, instead of just sorting by the primary key. (Bug #38284832)

  • Fixed several issues relating to Thread Pool blocking connections from closing. (Bug #38170188, Bug #36782728, Bug #38549372)

  • GTID gaps were generated because of the replica- skip-errors option. (Bug #28590993)

  • If server was started on Windows platforms with --skip-grant-tables, privileges were not checked and remote connections were not permitted. As a result, the server might not start. (Bug #118805, Bug #38328780)