MySQL 8 is coming and it is going to be a big change. MySQL 5.7 has been out for well over a year and has been very well received with its native JSON data type, increased security, and better performance. But there are some things about 5.7 that needed modernization and that is why MySQL 8 is on the way.

What happened to 6 & 7?

Years ago, before the Sun Microsystems purchase of MySQL AB, there was a version of MySQL with the number 6. Sadly, it was a bit ambitious and the change of ownership left it to wither. The MySQL Cluster product has been using the 7 series for years. With the new changes for MySQL 8, developers feel they have modified it enough to bump the big number.

Data dictionary

Ever open up a directory of a MySQL schema and see all those files—.frm, .myi, .myd, and the like? Those files hold some of the metadata on the database schemas. Twenty years ago, it was a good way to go, but InnoDB is a crash proof storage engine and can hold all that metadata safely. This means file corruption of a .frm file is not going to stall your work. Developers also removed the file system's maximum number of files as the limiting factor to your number of databases; you can now have literally have millions of tables in your database.

This also makes changing tables much easier. In the past, an ALTER TABLE command could take a great of time due to the way the old data dictionary was wired together. The new data dictionary will allow you to start transactions, make your ALTER TABLE statements, and test the changes before committing the changes.

What else is changing?

Common Table Expressions, Windowing functions, roles for user privileges, Invisible Indexes, and more. You will see more as future releases are mentioned. Check the release notes for details, please. Also, MySQL has started uncoupling big, new features such as Group Replication and Document Store from the major server releases. These will be plug-ins and will allow you to add new features quickly rather than wait for the server release cycle.

Resources

Read the MySQL 8 Manual.

Download milestone releases (and there are Docker images too).