content_image/789496.jpg content_image/789505.jpg
## Chapter 14 MySQL Data Dictionary 

## Table of Contents 

<img src='content_image/789496.jpg'>

MySQL Server incorporates a transactional data dictionary that stores information about database objects. In previous MySQL releases, dictionary data was stored in metadata files, nontransactional tables, and storage engine-specific data dictionaries. 

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. 

Benefits of the MySQL data dictionary include: 

•Simplicity of a centralized data dictionary schema that uniformly stores dictionary data. See Section 14.1, “Data Dictionary Schema” . 

•Removal of file-based metadata storage. See Section 14.2, “Removal of File-based Metadata Storage” . 

•Transactional, crash-safe storage of dictionary data. See Section 14.3, “Transactional Storage of Dictionary Data” . 

•Uniform and centralized caching for dictionary objects. See Section 14.4, “Dictionary Object Cache” . 

•A simpler and improved implementation for some INFORMATION_SCHEMA  tables. See Section 14.5, “INFORMATION_SCHEMA and Data Dictionary Integration” . 

•Atomic DDL. See Section 13.1.1, “Atomic Data Definition Statement Support” . 

## 14.1 Data Dictionary Schema 

<img src='content_image/789505.jpg'>

## Important 

A data dictionary-enabled server entails some general operational differences compared to a server that does not have a data dictionary; see Section 14.7, “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.11, “Upgrading MySQL” , particularly Section 2.11.5, “Preparing Your Installation for Upgrade” . 

Data dictionary tables are protected and may only be accessed in debug builds of MySQL. However, MySQL supports access to data stored in data dictionary tables through INFORMATION_SCHEMA  tables and SHOW  statements. For an overview of the tables that comprise the data dictionary, see Data Dictionary Tables. 

