Before upgrading to MySQL 8.4, review the changes described in the following sections to identify those that apply to your current MySQL installation and applications.
In addition, you can consult the resources listed here:
This section contains information about incompatible changes in MySQL 8.4.
Spatial indexes. When upgrading to MySQL 8.4.4 or later, 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.
For more information, see Section 13.4.10, “Creating Spatial Indexes”.
WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS() function removed. The
WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS()
SQL function, deprecated in MySQL 8.0 has been removed; attempting to invoke it now causes a syntax error. UseWAIT_FOR_EXECUTED_GTID_SET()
instead.authentication_fido
andauthentication_fido_client
no longer available on some platforms. Due to upgrading the libfido2 library bundled with the server to version 1.13.0, which requires OpenSSL 1.1.1 or higher, theauthentication_fido
andauthentication_fido_client
authentication plugins are no longer available on Enterprise Linux 6, Enterprise Linux 7, Solaris 11, or SUSE Enterprise Linux 12.NULL disallowed for command-line options. Setting server variables equal to SQL
NULL
on the command line is not supported. In MySQL 8.4, setting any of these toNULL
is specifically disallowed, and attempting to do is rejected with an error.The following variables are excepted from this restriction:
admin_ssl_ca
,admin_ssl_capath
,admin_ssl_cert
,admin_ssl_cipher
,admin_tls_ciphersuites
,admin_ssl_key
,admin_ssl_crl
,admin_ssl_crlpath
,basedir
,character_sets_dir
,ft_stopword_file
,group_replication_recovery_tls_ciphersuites
,init_file
,lc_messages_dir
,plugin_dir
,relay_log
,relay_log_info_file
,replica_load_tmpdir
,ssl_ca
,ssl_capath
,ssl_cert
,ssl_cipher
,ssl_crl
,ssl_crlpath
,ssl_key
,socket
,tls_ciphersuites
, andtmpdir
.See also Section 7.1.8, “Server System Variables”.
For additional information about changes in MySQL 8.4, see Section 1.4, “What Is New in MySQL 8.4 since MySQL 8.0”.
This section contains information about MySQL server system variables whose default values have changed in MySQL 8.4 as compared to MySQL 8.0.
For more information about options or variables which have been added, see Option and Variable Changes for MySQL 8.4, in the MySQL Server Version Reference.
Although the new defaults are the best configuration choices for most use cases, there are special cases, as well as legacy reasons for using existing configuration choices. For example, some people prefer to upgrade to MySQL 8.4 with as few changes to their applications or operational environment as possible. We recommend to evaluate all the new defaults and use as many as you can.
The Performance Schema
variables_info
table shows, for
each system variable, the source from which it was most recently
set, as well as its range of values. This provides SQL access to
all there is to know about a system variable and its values.