Back

Oracle Corporation
Patches for MySQL Server 8.4 x64
Windows
6 patches available
MySQL Community Edition is a freely downloadable version of the world's most popular open source database that is supported by an active community of open source developers and enthusiasts.
MySQL Server 8.4 x64 Version 8.4.6
Release Date
7/22/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Functionality Added or Changed$$$Important Change: Added the mysql client --commands option; which enables or disables most mysql client commands.$$$$$$This option is enabled by default. To disable it; start the client with --commands=OFF or --skip-commands.$$$$$$For a complete list of all commands affected by this option; and additional information; see mysql Client Options. (WL #16949)$$$$$$References: See also: Bug #36416568; Bug #38066040.$$$$$$Group Replication: Added the error ER_GRP_RPL_APPLIER_THD_KILLED; to distinguish when the applier thread has been terminated using SQL KILL; rather than stopped by an error. (Bug #37764717)$$$$$$Binary packages that include curl rather than linking to the system curl library have been upgraded to use curl 8.14.1. (Bug #37389565)
MySQL Server 8.4 x64 Version 8.4.5
Release Date
4/15/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Changes in MySQL 8.4.5 (2025-04-15; LTS Release)$$$Account Management Notes$$$It was possible in some cases to grant a user the EXECUTE privilege; but subsequently to be unable to revoke it from the same user. (Bug #37570206)$$$$$$Audit Log Notes$$$<COMMAND_CLASS> was not populated for <NAME>Execute</NAME>.$$$$$$For more information; see Logging Specific Event Classes. (Bug #36686351)$$$$$$Compilation Notes$$$Group Replication: The OpenSSL Engine interface is deprecated; and is no longer being included in OpenSSL v3 main packages by some Linux distributions; including Fedora.$$$$$$To avoid build issues; the usage of the OpenSSL Engine interface by the Group Communication System (GCS) is now restricted to OpenSSL versions previous to 1.1. (Bug #37475769)$$$$$$Linux: Use /usr/bin/gcc (GCC 14.2.1) when building the server on Oracle Linux 10. (Bug #37616148)$$$$$$Upgraded the bundled Curl library to version 8.12.1. (Bug #37633587)$$$$$$Abseil could not be built on FreeBSD. (Bug #37611924)$$$$$$The bundled version of opentelemetry-cpp was upgraded to version 1.19.0. (Bug #37506554)$$$$$$In order to use xxhash functions independently from the lz4 library (bundled or source); we compiled xxhash.c into our own binaries; which required using a great many CMake directives. Instead; we now build an interface library for xxhash; and link with that wherever such functions are used. (Bug #37417386)$$$$$$Use xxHash-0.8.2 from GitHub rather than the version bundled with lz4. (Bug #37387318)$$$$$$For full details refer - https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-5.html
MySQL Server 8.4 x64 Version 8.4.5
Release Date
4/15/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Changes in MySQL 8.4.5 (2025-04-15; LTS Release)$$$Account Management Notes$$$It was possible in some cases to grant a user the EXECUTE privilege; but subsequently to be unable to revoke it from the same user. (Bug #37570206)$$$$$$Audit Log Notes$$$<COMMAND_CLASS> was not populated for <NAME>Execute</NAME>.$$$$$$For more information; see Logging Specific Event Classes. (Bug #36686351)$$$$$$Compilation Notes$$$Group Replication: The OpenSSL Engine interface is deprecated; and is no longer being included in OpenSSL v3 main packages by some Linux distributions; including Fedora.$$$$$$To avoid build issues; the usage of the OpenSSL Engine interface by the Group Communication System (GCS) is now restricted to OpenSSL versions previous to 1.1. (Bug #37475769)$$$$$$Linux: Use /usr/bin/gcc (GCC 14.2.1) when building the server on Oracle Linux 10. (Bug #37616148)$$$$$$Upgraded the bundled Curl library to version 8.12.1. (Bug #37633587)$$$$$$Abseil could not be built on FreeBSD. (Bug #37611924)$$$$$$The bundled version of opentelemetry-cpp was upgraded to version 1.19.0. (Bug #37506554)$$$$$$In order to use xxhash functions independently from the lz4 library (bundled or source); we compiled xxhash.c into our own binaries; which required using a great many CMake directives. Instead; we now build an interface library for xxhash; and link with that wherever such functions are used. (Bug #37417386)$$$$$$Use xxHash-0.8.2 from GitHub rather than the version bundled with lz4. (Bug #37387318)$$$$$$For full details refer - https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-5.html
MySQL Server 8.4 x64 Version 8.4.4
Release Date
1/21/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Bugs Fixed$$$Incompatible Change: Corruption occurred in a spatial index when an update of a geometry with a minimal change in the minimum bounding rectangle (MBR) was followed by a delete operation.$$$$$$When upgrading to this release; it is recommended that you drop any spatial indexes beforehand; then re-create them after the upgrade is complete. Alternatively; you can drop and re-create such indexes immediately following the upgrade; but before making use of any of the tables in which they occur. You should also be aware that downgrading to any previous version reintroduces the original problem described previously.$$$$$$For more information; see Creating Spatial Indexes. (Bug #36452528)$$$$$$InnoDB: Concurrently truncating a table while querying the Performance Schema sometimes cause MySQL to halt unexpectedly. (Bug #37271715)$$$$$$InnoDB: It was possible for an ALTER TABLE operation using the INPLACE algorithm on a table containing both a spatial index and an auto-increment column to cause corruption or; in debug builds; to trigger a debug assert. This was due to the auto-increment column value being overwritten in the old records of the spatial index while the new record was prepared. (Bug #37189985)$$$$$$InnoDB: Certain IO buffer serializations triggered an assertion in debug builds that caused the system to hang. (Bug #37139618)$$$$$$InnoDB: Improved InnoDB start up time. (Bug #36880863)$$$$$$References: This issue is a regression of: Bug #36808732.$$$$$$InnoDB: An assertion failure was raised when creating a FULLTEXT index on a table with an FTS_DOC_ID value greater than 4294967295. (Bug #36879147)$$$$$$References: See also: Bug #37387224.$$$$$$InnoDB: Dropping a primary key; and then adding a new AUTO_INCREMENT column as a primary key in descending order using the INPLACE algorithm failed.$$$$$$Our thanks to Shaohua Wang and the team at Alibaba for the contribution. (Bug #36658450)$$$$$$InnoDB: Extending a user tablespace produces file extension redo log records (MLOG_FILE_EXTEND); but they were not produced when extending the system tablespace. (Bug #36511673)$$$$$$InnoDB: A DELETE operation on a table with a self referential foreign key and full-text index could have triggered an assertion. (Bug #36234681)$$$$$$InnoDB: When clearing an AHI index from all buffer pool pages; the block state would potentially change to BUF_BLOCK_MEMORY before acquiring the block mutex thus causing an unexpected halt. (Bug #35037114)$$$$$$InnoDB: Common prefix compression for redo log inserts (MLOG_REC_INSERT) was disabled but is now enabled when the versions match. (Bug #34946626)$$$$$$References: This issue is a regression of: Bug #13899.$$$$$$InnoDB: Virtual column information for a row containing an externally stored BLOB was not always logged during an UPDATE operation; which sometimes resulted in an Index PRIMARY is corrupted error. (Bug #34574604)$$$$$$InnoDB: ON DELETE CASCADE with generated columns containing secondary indexes sometimes failed; due to virtual column templates not being initialized before deletion.$$$$$$Our thanks to Rahul Malik for the contribution. (Bug #33691659)$$$$$$InnoDB: An update operation attempted to update a virtual column while building an update node for a child table; but should not have done so since foreign key constraints cannot reference virtual columns. (Bug #33327093)$$$$$$InnoDB: It was possible for ALTER TABLE; which rebuilds InnoDB tables using the INPLACE algorithm; to be rejected with a duplicate key error due to a non-duplicate record being inserted concurrently while the rebuild was paused to release a page latch.$$$$$$Our thanks to Dmitry Lenev and the team at Percona for contributing to this fix. (Bug #115511; Bug #36808088)$$$$$$InnoDB: The check enforcing the rule that ALGORITHM=INSTANT cannot be used on a column referenced by a foreign key constraint from another table did not inspect the last field of said constraint. (Bug #115457; Bug #36796094)$$$$$$InnoDB: CPU usage statistics did not account for a processor count over 1
MySQL Server 8.4 x64 Version 8.4.3
Release Date
10/15/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Changes in MySQL 8.4.3 (2024-10-15; LTS Release)$$$$$$Bugs Fixed$$$Performance; InnoDB: Several functions internal to InnoDB; which were defined as inline in MySQL 8.0.28; were found to be no longer inline in MySQL 8.0.33; due in part to refactoring which accompanied improvements made in MySQL 8.0.30 to improve the InnoDB adaptive hash index. This had an adverse effect on queries using joins on InnoDB tables. (Bug #111538; Bug #35531293)$$$$$$References: This issue is a regression of: Bug #81814; Bug #16739204; Bug #23584861.$$$$$$InnoDB: InnoDB did not allow updating a REDUNDANT table column that was altered with NULL as the default value using the INSTANT algorithm. Instead; MySQL unexpectedly halted. (Bug #36840107)$$$$$$InnoDB: When redo log capacity was reduced with log_files_truncate; under rare circumstances the file.end_lsn equaled log_sys->write_lsn thus disallowing future redo log writes. (Bug #36730830)$$$$$$InnoDB: It was possible for the MySQL server to halt unexpectedly when executing a DELETE or UPDATE statement after a column was dropped using the INSTANT algorithm. (Bug #36723117)$$$$$$InnoDB: FTS index optimization would sometimes not function correctly with tokens equal in collation order but different in terms of bytes. (Bug #36652127)$$$$$$InnoDB: Replaced std::this_thread::sleep_for(std::chrono::seconds(0)) usage with std::this_thread::yield() to prevent it from being optimized out while compiled. (Bug #36522343)$$$$$$InnoDB: The upgrade process unexpectedly halted when the database contained a full-text index created in MySQL 5.7 with a user-created FTS_DOC_ID column as the primary key.$$$$$$Our thanks to Huaxiong Song and the team at Alibaba for contributing to this fix. (Bug #36496164)$$$$$$InnoDB: Disabled the optimizer for indexes with range conditions on multiple-value virtual columns. (Bug #36341532)$$$$$$InnoDB: Redesigned the performance schema data_locks and data_lock_waits tables so that querying them does not require an exclusive global mutex on the transaction or lock system. It now iterates over buckets of hash tables that hold the locks to only latch the actively processed shard; when previously it iterated over the transactions. This also improves the iteration logic complexity in terms of speed and memory to decrease the impact of these queries on the rest of the system.$$$$$$Note that the query result might show an incomplete list of transaction locks if it committed; started; or otherwise changed the set of owned locks in-between visiting two buckets. This differs from previous behavior which always showed a consistent snapshot of locks held by individual transactions; although two different transactions could have been presented at different moments. In other words; the new approach gives a consistent view of a single wait queue to show conflicting locks with a waiting lock because they are always in the same bucket; while the old approach could miss some of them because they belonged to other transactions. The old approach would always show all the other locks held by a reported transaction but could miss locks of other transactions even if they were conflicting. (Bug #36302624)$$$$$$InnoDB: On Windows; fixed a doublewrite buffer regression that slowed file access; and refactored FILE_FLAG_OVERLAPPED flag usage for opening files. (Bug #36259487)$$$$$$InnoDB: A schema mismatch was possible when a table was imported with a different sql_mode than when it was created; because strict mode influences the number of nullable columns in a tables secondary index. Now the secondary index trees are also checked for corruption after a tablespace is imported. (Bug #35799038)$$$$$$InnoDB: Given a table with an FTS index; when its tablespace is discarded the corresponding FTS tables are also dropped. When performing an operation that cleared out these tables; the code incorrectly assumed that the FTS tables must also exist if the FTS indexes were present in the table metadata. (Bug #35343458)$$$$$$InnoDB: An uninitialized buffer
MySQL Server 8.4 x64 Version 8.4.2
Release Date
7/23/2024
Bug Fix?
Yes
Minor Release?
No
Patch Notes

Changes in MySQL 8.4.2 (2024-07-23; LTS Release)$$$Bugs Fixed$$$InnoDB: In some cases; following the creation of a very large number of tables (8001 or more); the server could not be restarted successfully. (Bug #36808732)$$$$$$References: This issue is a regression of: Bug #33398681.$$$$$$InnoDB: Improved tablespace file scan performance at startup. (Bug #110402; Bug #35200385)$$$$$$Group Replication: Running a CREATE TABLE ... SELECT statement on a source coming from an asynchronous channel to Group Replication led to errors on the replica. (Bug #36784284)$$$$$$
MySQL Server 8.4 x64 Version 8.4.1
Release Date
7/1/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Changes in MySQL 8.4.1 (2024-07-01; LTS Release)$$$Audit Log Notes$$$$$$Authentication Notes$$$$$$C API Notes$$$$$$Compilation Notes$$$$$$Component Notes$$$$$$Configuration Notes$$$$$$Data Dictionary Notes$$$$$$X Plugin Notes$$$$$$Bugs Fixed$$$$$$Audit Log Notes$$$MySQL now calls plugin->deinit() with a valid plugin struct as an argument regardless of the plugins type.$$$$$$Our thanks to Martin Alderete for the contribution.$$$Authentication Notes$$$Improved log messages to provide clear reasons for access denied errors when using the authentication_ldap_sasl plugin without proxying. (Bug #35317691)$$$$$$C API Notes$$$C API applications stalled while receiving results for server side prepared statements.$$$$$$Compilation Notes$$$Upgraded the bundled googletest and googlemock sources to version 1.14.0. (Bug #36562482)$$$$$$Added a missing dependency on GenError. (Bug #36551721)$$$$$$It is now possible on Linux systems to build MySQL using a bundled tcmalloc library that is provided with the source by specifying -DWITH_TCMALLOC=BUNDLED. This is supported on Linux only. (Bug #36313839)$$$$$$Removed warnings raised in sql/statement/ed_connection.cc when building on Ubuntu 23.04. (Bug #114436; Bug #36428465)$$$$$$Linux aarch64 platform binaries are now built using patchelf --page-size=65536 for compatibility with systems using either 4k or 64k for the page size. (Bug #114233; Bug #36393794)$$$Component Notes$$$The values for component options set using the --loose prefix were not read when the component was installed. (Bug #28341329)$$$$$$Configuration Notes$$$Microsoft Windows: On Windows; MySQL Configurator was updated to support in-place upgrades as per Upgrade Paths. (Bug #36685422)$$$$$$Microsoft Windows: For MSI installations on Windows; MySQL Configurator now automatically upgrades MySQL 8.4 LTS installations without user intervention. (WL #16274)$$$$$$Data Dictionary Notes$$$Attempting to upgrade a MyISAM table containing a mix of regular columns and generated columns from MySQL 5.7 to 8.0 or later led to table corruption. (Bug #105301; Bug #33503328)$$$X Plugin Notes$$$The system variable caching_sha2_password_digest_rounds could not be set to a non-default value using X Protocol. (Bug #36402455)$$$$$$An outdated link to the MySQL documentation in the mysql_function_names unit test source file has been updated.$$$$$$Our thanks to Minha Jeong for the contribution. (Bug #113500; Bug #36137217)$$$$$$Bugs Fixed$$$InnoDB: MySQL unexpectedly halted on an UPDATE after an ALTER TABLE operation. (Bug #36571091)$$$$$$References: This issue is a regression of: Bug #35183686.$$$$$$InnoDB: The log index size calculation now accounts for column order changes. (Bug #36526369)$$$$$$References: This issue is a regression of: Bug #35183686.$$$$$$InnoDB: File system operations performed by InnoDB now consistently fsync the parent directory when performing directory altering tasks. (Bug #36174938)$$$$$$InnoDB: In debug builds; setting the innodb_interpreter_output debug variable would cause the server to unexpectedly halt. This is now a read-only variable. (Bug #36041032)$$$$$$InnoDB: Improved os_innodb_umask handling; and made it read-only. (Bug #35932118)$$$$$$References: This issue is a regression of: Bug #29472125.$$$$$$InnoDB: For tables created with an index on a column that was too wide for the redundant row format (allowed before MySQL 5.7.35); an in-place upgrade silently imported the table but it was not accessible; which interfered with making backups. Now all operations that involve using the invalid index are rejected with ER_INDEX_CORRUPT until the index is dropped. An ER_IB_INDEX_PART_TOO_LONG error is also reported in the error log. (Bug #35869747)$$$$$$References: See also: Bug #34826861.$$$$$$InnoDB: An InnoDB assertion error referencing an invalid column index was triggered when the column index was valid. (Bug #34800754)$$$$$$InnoDB: With an empty XA transaction; shutting the server down after an XA START would cause the server to halt unexpectedly. (Bug #32416819)$$$$$$InnoDB: Shutting down the repl
MySQL Server 8.4 x64 Version 8.4.1
Release Date
7/1/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Changes in MySQL 8.4.1 (2024-07-01; LTS Release)$$$Audit Log Notes$$$$$$Authentication Notes$$$$$$C API Notes$$$$$$Compilation Notes$$$$$$Component Notes$$$$$$Configuration Notes$$$$$$Data Dictionary Notes$$$$$$X Plugin Notes$$$$$$Bugs Fixed$$$$$$Audit Log Notes$$$MySQL now calls plugin->deinit() with a valid plugin struct as an argument regardless of the plugins type.$$$$$$Our thanks to Martin Alderete for the contribution.$$$Authentication Notes$$$Improved log messages to provide clear reasons for access denied errors when using the authentication_ldap_sasl plugin without proxying. (Bug #35317691)$$$$$$C API Notes$$$C API applications stalled while receiving results for server side prepared statements.$$$$$$Compilation Notes$$$Upgraded the bundled googletest and googlemock sources to version 1.14.0. (Bug #36562482)$$$$$$Added a missing dependency on GenError. (Bug #36551721)$$$$$$It is now possible on Linux systems to build MySQL using a bundled tcmalloc library that is provided with the source by specifying -DWITH_TCMALLOC=BUNDLED. This is supported on Linux only. (Bug #36313839)$$$$$$Removed warnings raised in sql/statement/ed_connection.cc when building on Ubuntu 23.04. (Bug #114436; Bug #36428465)$$$$$$Linux aarch64 platform binaries are now built using patchelf --page-size=65536 for compatibility with systems using either 4k or 64k for the page size. (Bug #114233; Bug #36393794)$$$Component Notes$$$The values for component options set using the --loose prefix were not read when the component was installed. (Bug #28341329)$$$$$$Configuration Notes$$$Microsoft Windows: On Windows; MySQL Configurator was updated to support in-place upgrades as per Upgrade Paths. (Bug #36685422)$$$$$$Microsoft Windows: For MSI installations on Windows; MySQL Configurator now automatically upgrades MySQL 8.4 LTS installations without user intervention. (WL #16274)$$$$$$Data Dictionary Notes$$$Attempting to upgrade a MyISAM table containing a mix of regular columns and generated columns from MySQL 5.7 to 8.0 or later led to table corruption. (Bug #105301; Bug #33503328)$$$X Plugin Notes$$$The system variable caching_sha2_password_digest_rounds could not be set to a non-default value using X Protocol. (Bug #36402455)$$$$$$An outdated link to the MySQL documentation in the mysql_function_names unit test source file has been updated.$$$$$$Our thanks to Minha Jeong for the contribution. (Bug #113500; Bug #36137217)$$$$$$Bugs Fixed$$$InnoDB: MySQL unexpectedly halted on an UPDATE after an ALTER TABLE operation. (Bug #36571091)$$$$$$References: This issue is a regression of: Bug #35183686.$$$$$$InnoDB: The log index size calculation now accounts for column order changes. (Bug #36526369)$$$$$$References: This issue is a regression of: Bug #35183686.$$$$$$InnoDB: File system operations performed by InnoDB now consistently fsync the parent directory when performing directory altering tasks. (Bug #36174938)$$$$$$InnoDB: In debug builds; setting the innodb_interpreter_output debug variable would cause the server to unexpectedly halt. This is now a read-only variable. (Bug #36041032)$$$$$$InnoDB: Improved os_innodb_umask handling; and made it read-only. (Bug #35932118)$$$$$$References: This issue is a regression of: Bug #29472125.$$$$$$InnoDB: For tables created with an index on a column that was too wide for the redundant row format (allowed before MySQL 5.7.35); an in-place upgrade silently imported the table but it was not accessible; which interfered with making backups. Now all operations that involve using the invalid index are rejected with ER_INDEX_CORRUPT until the index is dropped. An ER_IB_INDEX_PART_TOO_LONG error is also reported in the error log. (Bug #35869747)$$$$$$References: See also: Bug #34826861.$$$$$$InnoDB: An InnoDB assertion error referencing an invalid column index was triggered when the column index was valid. (Bug #34800754)$$$$$$InnoDB: With an empty XA transaction; shutting the server down after an XA START would cause the server to halt unexpectedly. (Bug #32416819)$$$$$$InnoDB: Shutting down the repl
MySQL Server 8.4 x64 Version 8.4.0
Release Date
4/30/2024
Bug Fix?
No
Minor Release?
No
Patch Notes

Changes in MySQL 8.4.0 (2024-04-30; LTS Release)$$$Audit Log Notes$$$$$$C API Notes$$$$$$Character Set Support$$$$$$Compilation Notes$$$$$$Configuration Notes$$$$$$Deprecation and Removal Notes$$$$$$Firewall Notes$$$$$$INFORMATION_SCHEMA Notes$$$$$$Keyring Notes$$$$$$Optimizer Notes$$$$$$Performance Schema Notes$$$$$$Server Administration$$$$$$Thread Pool Notes$$$$$$Functionality Added or Changed$$$$$$Bugs Fixed$$$$$$Audit Log Notes$$$Invoking audit_api_message_emit_udf() with arguments of mixed types could lead to an unplanned shutdown of the server. (Bug #36301441)$$$$$$Audit log filtering by type; using error as the type; did not work correctly. (Bug #36142157)$$$$$$Following an unplanned shutdown and restart; the file that was in use by the server for writing at the time may be broken or otherwise unreadable. The Audit Log plugin log message indicating unreadability of the file was shown as an error; now instead this message is treated as a warning. (Bug #36118809)$$$$$$C API Notes$$$Important Change: The following MySQL C API functions; removed in MySQL 8.3; have been reimplemented and restored in MySQL 8.4.0:$$$$$$mysql_kill(): In place of COM_PROCESS_KILL (removed); this function has been reimplemented such that it uses mysql_real_query() to execute KILL.$$$$$$mysql_list_fields(): Restored as previously implemented; along with COM_FIELD_LIST.$$$$$$mysql_list_processes(): Reimplemented using mysql_real_query() to execute SHOW PROCESSLIST; in place of COM_PROCESS_INFO (removed).$$$$$$mysql_refresh(): Reimplemented using mysql_real_query() to execute FLUSH statements in place of COM_REFRESH; which was removed in MySQL 8.3.$$$$$$mysql_reload()$$$$$$mysql_shutdown(): Reimplemented using mysql_real_query() to execute a shutdown command rather than COM_SHUTDOWN; removed in MySQL 8.3.$$$$$$mysql_ssl_set()$$$$$$mysql_stmt_bind_param()$$$$$$The functions just listed are supported for the lifetime of the MySQL 8.4 series. (WL #16221)$$$$$$Microsoft Windows: Third party DLL files on which MySQL plugins depend are located; when installed; in the same directory as the MySQL executables. The default Windows behavior is to look for dependences in the same directory as the current executable; which is not appropriate for clients using libmysql.dll outside of the installation directory.$$$$$$We fix this by that changing the default behavior of MySQL clients so that the loader looks for dependencies in the directory of current module (the executable or libmysql.dll). In addition; since libsasl.dll expects to load all its required dependencies from a directory of its won; SASL plugins are now located in a dedicated subdirectory. (Bug #36006295)$$$$$$Character Set Support$$$When the character_set_server system variable was set using SET PERSIST or SET GLOBAL; it did not take effect for new client sessions or for a client establishing a connection to the server after the server was restarted. The only workaround was to set the corresponding command-line option when starting the server.$$$$$$To fix this; we now make sure that; at the time of server restart; the configuration data is read in the correct order so that the variable setting takes effect as expected. (Bug #35529604)
MySQL Server 8.4 x64 Version 8.4.0
Release Date
4/30/2024
Bug Fix?
No
Minor Release?
No
Patch Notes

Changes in MySQL 8.4.0 (2024-04-30; LTS Release)$$$Audit Log Notes$$$$$$C API Notes$$$$$$Character Set Support$$$$$$Compilation Notes$$$$$$Configuration Notes$$$$$$Deprecation and Removal Notes$$$$$$Firewall Notes$$$$$$INFORMATION_SCHEMA Notes$$$$$$Keyring Notes$$$$$$Optimizer Notes$$$$$$Performance Schema Notes$$$$$$Server Administration$$$$$$Thread Pool Notes$$$$$$Functionality Added or Changed$$$$$$Bugs Fixed$$$$$$Audit Log Notes$$$Invoking audit_api_message_emit_udf() with arguments of mixed types could lead to an unplanned shutdown of the server. (Bug #36301441)$$$$$$Audit log filtering by type; using error as the type; did not work correctly. (Bug #36142157)$$$$$$Following an unplanned shutdown and restart; the file that was in use by the server for writing at the time may be broken or otherwise unreadable. The Audit Log plugin log message indicating unreadability of the file was shown as an error; now instead this message is treated as a warning. (Bug #36118809)$$$$$$C API Notes$$$Important Change: The following MySQL C API functions; removed in MySQL 8.3; have been reimplemented and restored in MySQL 8.4.0:$$$$$$mysql_kill(): In place of COM_PROCESS_KILL (removed); this function has been reimplemented such that it uses mysql_real_query() to execute KILL.$$$$$$mysql_list_fields(): Restored as previously implemented; along with COM_FIELD_LIST.$$$$$$mysql_list_processes(): Reimplemented using mysql_real_query() to execute SHOW PROCESSLIST; in place of COM_PROCESS_INFO (removed).$$$$$$mysql_refresh(): Reimplemented using mysql_real_query() to execute FLUSH statements in place of COM_REFRESH; which was removed in MySQL 8.3.$$$$$$mysql_reload()$$$$$$mysql_shutdown(): Reimplemented using mysql_real_query() to execute a shutdown command rather than COM_SHUTDOWN; removed in MySQL 8.3.$$$$$$mysql_ssl_set()$$$$$$mysql_stmt_bind_param()$$$$$$The functions just listed are supported for the lifetime of the MySQL 8.4 series. (WL #16221)$$$$$$Microsoft Windows: Third party DLL files on which MySQL plugins depend are located; when installed; in the same directory as the MySQL executables. The default Windows behavior is to look for dependences in the same directory as the current executable; which is not appropriate for clients using libmysql.dll outside of the installation directory.$$$$$$We fix this by that changing the default behavior of MySQL clients so that the loader looks for dependencies in the directory of current module (the executable or libmysql.dll). In addition; since libsasl.dll expects to load all its required dependencies from a directory of its won; SASL plugins are now located in a dedicated subdirectory. (Bug #36006295)$$$$$$Character Set Support$$$When the character_set_server system variable was set using SET PERSIST or SET GLOBAL; it did not take effect for new client sessions or for a client establishing a connection to the server after the server was restarted. The only workaround was to set the corresponding command-line option when starting the server.$$$$$$To fix this; we now make sure that; at the time of server restart; the configuration data is read in the correct order so that the variable setting takes effect as expected. (Bug #35529604)
Interested in automating patching for MySQL Server 8.4 x64?