MySQL錯誤日志提示innodb_table_stats和innodb_index_stats不存在故障處理


查看MySQL error日志,發現有如下報錯

 7efbc586f700 InnoDB: Error: Table "mysql"."innodb_table_stats" not found.
2016-05-22 12:04:11 7efbc586f700 InnoDB: Error: Table "mysql"."innodb_table_stats" not found.
2016-05-22 12:04:11 7efbc586f700 InnoDB: Error: Table "mysql"."innodb_table_stats" not found.
2016-05-22 12:04:11 7efbc586f700 InnoDB: Error: Fetch of persistent statistics requested for table "alog"."wmp_sale_order_0126" but the required system tables mysql.innodb_table_stats and mysql.innodb_index_stats are not present or have unexpected structure. Using transient stats instead.
2016-05-22 12:04:21 7efbbdffb700 InnoDB: Error: Table "mysql"."innodb_table_stats" not found.
2016-05-22 12:04:21 7efbbdffb700 InnoDB: Recalculation of persistent statistics requested for table "alog"."wmp_sale_order_0126" but the required persistent statistics storage is not present or is corrupted. Using transient stats instead.

造成這個原因的問題可能是在初始化的過程中,刪掉了ibdata1的文件導致,處理的方法

1.刪除上述系統表
drop table mysql.innodb_index_stats;
drop table mysql.innodb_table_stats;
2 /etc/init.d/mysqld stop
3 cd /data/3306/data/mysql/
4 rm -rf innodb_index_stats* innodb_table_stats*
5 /etc/init.d/mysqld start
6 mysql> use mysql
Database changed
mysql> CREATE TABLE `innodb_index_stats` (
    ->   `database_name` varchar(64) COLLATE utf8_bin NOT NULL,
    ->   `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
    ->   `index_name` varchar(64) COLLATE utf8_bin NOT NULL,
    ->   `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    ->   `stat_name` varchar(64) COLLATE utf8_bin NOT NULL,
    ->   `stat_value` bigint(20) unsigned NOT NULL,
    ->   `sample_size` bigint(20) unsigned DEFAULT NULL,
    ->   `stat_description` varchar(1024) COLLATE utf8_bin NOT NULL,
    ->   PRIMARY KEY (`database_name`,`table_name`,`index_name`,`stat_name`)
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;
Query OK, 0 rows affected (0.02 sec)

mysql> CREATE TABLE `innodb_table_stats` (
    ->   `database_name` varchar(64) COLLATE utf8_bin NOT NULL,
    ->   `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
    ->   `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    ->   `n_rows` bigint(20) unsigned NOT NULL,
    ->   `clustered_index_size` bigint(20) unsigned NOT NULL,
    ->   `sum_of_other_index_sizes` bigint(20) unsigned NOT NULL,
    ->   PRIMARY KEY (`database_name`,`table_name`)
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;

問題解決


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM