Versioning is a process of categorizing either unique version names or numbers to the unique set of software program as it is developed and released. The commonly used version name for denoting the initial release of a software or program is version 1.0. There is no industry standard rule available that decide how version number should be formatted. Thus, each company has its own methods for assigning the version name to the software. When the new features in software and programs have introduced, fixes bugs, patched security holes, then version number increased that indicates those improvements.
The latest support for working with MySQL is version number v5.8. It contains many essential changes, including new features added and removed, fixed bugs and security issues, etc. This version contains the release history from MySQL 8.0 to MySQL 8.0.21. It is available from April 2018 and ends the support in April 2026.
When you are going to install MySQL in your system, you must have to choose the version and distribution format to use. You can install MySQL in two ways, where first is a development release, and the second is General Availability (GA) release. The development release provides the newest feature and is not recommended to use in production. The General Availability (GA) release, also known as production or stable release, is mainly used for production. Therefore, you must have to decide the most recent General Availability release.
Let us see what is new in MySQL 8.0 version.
Features Added in MySQL 8.0
The following features are added in MySQL 8.0 version:
Data Dictionary: It incorporates the transactional data dictionary to stores information about the database objects. Previous versions stored data in metadata files and non-transactional tables.
Atomic DDL Statement: It is an Atomic Data Definition Language statement that combines storage engine operations, data dictionary updates, and binary log associated with a DDL operation into a single atomic transaction.
Upgrade Procedures: Previously, the installation of the new MySQL version automatically upgrade the data dictionary table at the next startup, and then DBA is expected to invoke mysql_upgrade command manually for completing the upgrading process. After MySQL 8.0.16, it is not dependent on the DBA to invoke mysql_upgrade command for completing the up-gradation process.
Security and account management: There is some enhancement added to improve the security and provide it to enable greater DBA flexibility in account management.
Resource Management: Now, MySQL allows you to create and support resource groups, assign threads to a particular group so that it can execute according to the resource available for the group. Group attributes can control its resource consumption by threads in the group.
Table Encryption Management: Now, table encryption is managed globally by defining and enforcing encryption defaults. The default_table_encryption variable or DEFAULT ENCRYPTION clause defines encryption default when creating a schema and general tablespace.
InnoDB enhancements: The InnoDB enhancement were added in auto-increment counter, index tree corruption, memcached plugin, InnoDB_deadlock_detect, tablespace encryption feature, storage engine, InnoDB_dedicated_server, zlib library, and many more.
Character Set Support: The default character set now changed from latin1 to utf8mb4. The new character set has many new collations, including utf8mb_ja_0900_as_cs.
JSON Enhancements: The following enhancements or additions are introduced in the MySQL’s json functionality: Inline path (->>) operator, json aggregate functions JSON_ARRAYAGG() and JSON_OBJECTAGG(), utility function JSON_PRETTY(), JSON_STORAGE_SIZE()(, JSON_STORAGE_FREE(). In sorting json values, now each value is represented by variable-length part of sort key instead of a fixed 1K size. It also added merge function JSON_MERGE_PATCH to add 2 json object and JSON_TABLE() function.
Data Type Support: In data type specifications, it can support the use of expressions as default values.
Optimizer Enhancement: This version added optimizer enhancement such as invisible indexes, descending indexes, support the creation of a functional index. It can use constant folding for comparison between a column and a constant value.
Window Function: This version supports many new window functions such as RANK(), LAG(), and NTILE().
Some other important features are:
Features Deprecated in MySQL 8.0
The MySQL 8.0 version has deprecated many features and can be removed in the future series. Some of the features are explained below:
Features Removed in MySQL 8.0
available, your application needs to be updated.
Let us understand the release history of previous versions of MySQL through the following table:
Note: Version 6 has stopped working after the Sun Microsystems acquisition, and now it uses MySQL Cluster product versions 7 and 8.