•The max_length_for_sort_data  system variable is now deprecated due to optimizer changes that make it obsolete and of no effect. 

•These legacy parameters for compression of connections to the server are deprecated: The -- compress  client command-line option; the MYSQL_OPT_COMPRESS  option for the mysql_options()  C API function; the slave_compressed_protocol  system variable. For information about parameters to use instead, see Section 4.2.8, “Connection Compression Control” . 

•Use of the MYSQL_PWD  environment variable to specify a MySQL password is deprecated. 

•Use of VALUES()  to access new row values in INSERT ... ON DUPLICATE KEY UPDATE  is deprecated as of MySQL 8.0.20. Use aliases for the new row and columns, instead. 

•Because specifying ON ERROR  before ON EMPTY  when invoking JSON_TABLE()  is counter to the SQL standard, this syntax is now deprecated in MySQL. Beginning with MySQL 8.0.20, the server prints a warning whenever you attempt to do so. When specifying both of these clauses in a single JSON_TABLE()  invocation, make sure that ON EMPTY  is used first. 

•Columns with index prefixes have never been supported as part of a table’s partitioning key; previously, these were allowed when creating, altering, or upgrading partitioned tables but were excluded by the table’s partitioning function, and no warning that this had occurred was issued by the server. This permissive behavior is now deprecated, and subject to removal in a future version of MySQL in which using any such columns in the partitioning key causes the CREATE TABLE  or ALTER TABLE  statement in they occur to be rejected. 

As of MySQL 8.0.21, whenever columns using index prefixes are specified as part of the partitioning key, a warning is generated for each such column. Whenever a CREATE TABLE  or ALTER TABLE  statement is rejected because all columns in the proposed partitioning key would have index prefixes, the resulting error now provides the exact reason for the rejection. In either instance, this includes cases in which the columns used in the partitioning function are defined implicitly as those in the table’s primary key by employing an empty PARTITION BY KEY()  clause. 

For more information and examples, see Column index prefixes not supported for key partitioning. 

•The InnoDB memcached plugin is deprecated as of MySQL 8.0.22; expect support for it to be removed in a future version of MySQL. 

•The temptable_use_mmap  variable is now deprecated as of MySQL 8.0.26; expect support for it to be removed in a future version of MySQL. 

## Features Removed in MySQL 8.0 

The following items are obsolete and have been removed in MySQL 8.0. Where alternatives are shown, applications should be updated to use them. 

For MySQL 5.7 applications that use features removed in MySQL 8.0, statements may fail when replicated from a MySQL 5.7 source to a MySQL 8.0 replica, or may have different effects on source and replica. To avoid such problems, applications that use features removed in MySQL 8.0 should be revised to avoid them and use alternatives when possible. 

•The innodb_locks_unsafe_for_binlog  system variable was removed. The READ COMMITTED isolation level provides similar functionality. 

•The information_schema_stats  variable, introduced in MySQL 8.0.0, was removed and replaced by information_schema_stats_expiry  in MySQL 8.0.3. 

