MySQL 8.0

First GA release : 8.0.11 (2018-04-19)

Some Changes from v5.7

  • Data dictionary.  
    • MySQL now incorporates a transactional data dictionary that stores information about database objects.
  • Security and account management.  
    • MySQL now supports roles, which are named collections of privileges. 
    • MySQL now maintains information about password history, enabling restrictions on reuse of previous passwords.
  • InnoDB.  
    • All InnoDB temporary tables are now created in the shared temporary tablespace, ibtmp1. 
    • Now uses the MySQL data dictionary rather than its own storage engine-specific data dictionary.
    • mysql system tables and data dictionary tables are now created in a single InnoDB tablespace file named mysql.ibd in the MySQL data directory. 
  • Optimizer
    • MySQL now supports invisible indexes. Invisible indexes make it possible to test the effect of removing an index on query performance, without making a destructive change.
  • Internal temporary tables.  
    • The TempTable storage engine replaces the MEMORY storage engine as the default engine for in-memory internal temporary tables.

Some Features Removed in MySQL 8.0

  • Using GRANT to create users
  • Using GRANT to modify account properties other than privilege assignments.
  • IDENTIFIED BY PASSWORD 'hash_string' syntax for CREATE USER and GRANT.
  • The PASSWORD() function. Additionally, SET PASSWORD ... = PASSWORD('auth_string') syntax is no longer available. 
  • The query cache has been removed.
  • The data dictionary provides information about database objects, so the server no longer checks directory names in the data directory to find databases.
  • The mysql_install_db program has been removed from distributions. Data directory initialization should be performed by invoking mysqld with the --initialize or --initialize-insecure option instead.
  • System and status variable information is no longer maintained in the INFORMATION_SCHEMA. Use the corresponding Performance Schema tables instead.