MySQL Cluster 7.4
MySQL Workbench 6.3
MySQL APT Repository

MySQL Engineering Blogs

General Tablespaces in MySQL 5.7 – Details and Tips
InnoDB in MySQL 5.7 introduced for the first time the ability to create a general tablespace and assign multiple tables to it.  These tablespaces can be assigned anywhere on the system.  They can even be assigned a smaller block size so that they can contain compressed tables that use that size...

Upgrading JSON data stored in TEXT columns
One of the more frequently asked questions with MySQL 5.7 is “How can I upgrade my JSON data from using TEXT in an earlier version of MySQL to use the native JSON data type?”. Today I wanted to show an example of how to do so, using sample data from SF OpenData.…

Indexing JSON documents via Virtual Columns
In a previous post I took the new JSON datatype and functions for a test drive, using sample data provided by SF OpenData. Today I will extend that example to include indexing. Introducing Generated Columns MySQL 5.7 introduces a new feature called generated columns.…

STOP SLAVE Improvements for Multi-Threaded Slaves
When using a multi-threaded slave, the STOP SLAVE command could take a long time to return because the slave waited for workers to catch up processing the queue. This blog post is about improvements that have been made in MySQL 5.6.26 and later to ensure that STOP SLAVE returns quickly when using a...

Taking the new MySQL 5.7 JSON features for a test drive
MySQL 5.7 introduces both a new native JSON datatype, and a set of SQL functions to be able to manipulate and search data in a very natural way on the server-side. Today I wanted to show a simple of example of these features in action using sample data from SF OpenData.…

What to do with optimizer hints after an upgrade?
At a recent optimizer webinar, I talked about MySQL introducing a new style for hints, and that MySQL 5.7 also added support for more hints, see Sergey Glukhov’s blog. A question I got at the end of the webinar was what to do with the hints in the application code after an upgrade?…

Making GET_LOCK behavior more predictable cross version with query rewrite
MySQL has supported the GET_LOCK() function for a large part of its history. As the manual notes, GET_LOCK() can be used to implement application locks or to simulate record locks. Changes in MySQL 5.7 In MySQL 5.7 we improved GET_LOCK() to be based on our internal meta-data locking system...

MySQL Community Server

New Releases RSS Feed for new product releases

MySQL Quickpoll

What InnoDB specific options are you most eager to see made dynamic?

Take the Quickpoll »

"The Documents contained within this site may include statements about Oracle's product development plans. Many factors can materially affect Oracle's product development plans and the nature and timing of future product releases. Accordingly, this Information is provided to you solely for information only, is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described remains at the sole discretion of Oracle.

THIS INFORMATION MAY NOT BE INCORPORATED INTO ANY CONTRACTUAL AGREEMENT WITH ORACLE OR ITS SUBSIDIARIES OR AFFILIATES. ORACLE SPECIFICALLY DISCLAIMS ANY LIABILITY WITH RESPECT TO THIS INFORMATION. Refer to the LEGAL NOTICES AND TERMS OF USE for further information."