Let us understand the features that were added to MySQL 8.0
The security levels have been improved, and DBA (Database administrator) has been given greater flexibility for account management.
Resource groups can be created and managed, and the server has the ability to assign threads to resources of specific groups, that are running within the server. Group attributes can be used to control the resources, restrict or provide permission to the threads to consume the resource, and so on.
A transactional data dictionary is used to store information about objects, which was previously a non-transactional table.
The upgrade procedure has changed, server takes care of tasks which were previously performed by ‘mysql_upgrade’. All the necessary upgrade tasks are performed automatically.
Changes have been made to the InnoDB engine. When the current maximum auto-increment counter’s value is written into the ‘redo log’ when the value changes every time, it is saved to an engine-private system table on every checkpoint. This ensures that the current maximum auto-increment counter’s value is persistent across all servers when it restarts.
After the version update, the default character set has been changed from ‘latin1’ to ‘utf8mb4’. The new character set ‘utf8mb4’ has multiple collations, and this includes ‘utf8mb4_ja_0900_as_cs’, which is the first Japanese language specific collation that has been made available for Unicode in MySQL.
JSON enhancements were made to MySQL’s JSON functionality, where the ‘->>’, which is the inline path operator, has been added. This is equivalent to calling the ‘JSON_UNQUOTE()’ function on the result obtained after calling the ‘JSON_EXTRACT()’ function.