Pre-General Availability Draft: 2017-05-23
Table of Contents [+/-]
MySQL Server now incorporates a transactional data dictionary that stores information about database objects. In previous MySQL releases, dictionary data was stored in metadata files and nontransactional tables.
This chapter describes the main features, benefits, usage differences, and limitations of the data dictionary. For other implications of the data dictionary feature, refer to the “Data Dictionary Notes” section in the MySQL 8.0 Release Notes.
In in MySQL 8.0.0 and MySQL 8.0.1, the
storage engine uses its own storage engine-specific data dictionary.
As of MySQL 8.0.2,
InnoDB uses the global data
Benefits of the MySQL data dictionary include:
Simplicity of a centralized data dictionary schema that uniformly stores dictionary data. See Section 15.1, “Data Dictionary Schema”.
Removal of file-based metadata storage. See Section 15.2, “Removal of File-based Metadata Storage”.
Transactional, crash-safe storage of dictionary data. See Section 15.3, “Transactional Storage of Dictionary Data”.
Uniform and centralized caching for dictionary objects. See Section 15.4, “Dictionary Object Cache”.
A simpler and improved implementation for some
INFORMATION_SCHEMAtables. See Section 15.5, “INFORMATION_SCHEMA and Data Dictionary Integration”.
A data dictionary-enabled server entails some general operational differences compared to a server that does not have a data dictionary; see Section 15.6, “Data Dictionary Usage Differences”. Also, for upgrades to MySQL 8.0, the upgrade procedure differs somewhat from previous MySQL releases and requires that you verify the upgrade readiness of your installation by checking specific prerequisites. For more information, see Section 2.10.1, “Upgrading MySQL”, particularly Verifying Upgrade Prerequisites for Your MySQL 5.7 Installation.