InnoDB: Error: Table "mysql"."innodb_table_stats" Not Found.

(Doc ID 1539343.1)

Last updated on JULY 13, 2017

Applies to:

MySQL Server - Version 5.6 and later
Information in this document applies to any platform.

Symptoms

The MySQL error log contains an error related to missing InnoDB table : innodb_table_stats.

This error is found in the error log :

InnoDB: Error: Table "mysql"."innodb_table_stats" not found.

 
The table does not exist when being checked :

mysql> check table mysql.innodb_table_stats\G
*************************** 1. row ***************************
 Table: mysql.innodb_table_stats
    Op: check
Msg_type: Error
Msg_text: Table 'mysql.innodb_table_stats' doesn't exist
*************************** 2. row ***************************
 Table: mysql.innodb_table_stats
    Op: check
Msg_type: status
Msg_text: Operation failed
2 rows in set (0.00 sec)


But the innodb_table_stats.frm and innodb_table_stats.ibd exist in the mysql directory.

use mysql;
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| innodb_index_stats        |
| innodb_table_stats        |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
28 rows in set (0.00 sec)

Changes

The error occurs after the installation of MySQL 5.6. It did not occur in MySQL 5.5.

MySQL 5.6 introduced persistent statistics and this table innodb_table_stats stores the persistent statistics.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms