`

[转载]【MySQL】【5.6.x InnoDB Error Table mysql.innodb_table_stats not found】

 
阅读更多

【问题描述】:

检查error log的时候发现大量warnings:

[Warning] InnoDB Error Table mysql.innodb_index_stats not found

[Warning] InnoDB Error Table mysql.innodb_table_stats not found

[Warning] InnoDB Error Table mysql.slave_master_info not found

[Warning] InnoDB Error Table mysql.slave_relay_log_info not found

[Warning] InnoDB Error Table mysql.slave_worker_info not found

 

或在打开innodb表时,在err-log里会打印出:

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

 Error: Fetch of persistent statistics requested for table "{databse_name}"."{table_name}" 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.

 

【解决方案】:

先看看能否drop table,如果说表不存在,则继续下一步。

DROP TABLE mysql.innodb_index_stats;

DROP TABLE mysql.innodb_table_stats;

DROP TABLE mysql.slave_master_info;

DROP TABLE mysql.slave_relay_log_info;

DROP TABLE mysql.slave_worker_info;

 

删除datadir下mysql数据库中的这五张表的frm文件(如有ibd也一并删除)

rm -rf $datadir/mysql/innodb_index_stats.*

rm -rf $datadir/mysql/innodb_table_stats.*

rm -rf $datadir/mysql/slave_master_info.*

rm -rf $datadir/mysql/slave_relay_log_info.*

rm -rf $datadir/mysql/slave_worker_info.*

 

再执行如下语句,重新创建这五张表:

USE 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;

 

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;

 

CREATE TABLE `slave_master_info` (

  `Number_of_lines` int(10) unsigned NOT NULL COMMENT 'Number of lines in the file.',

  `Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the master binary log currently being read from the master.',

  `Master_log_pos` bigint(20) unsigned NOT NULL COMMENT 'The master log position of the last read event.',

  `Host` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT 'The host name of the master.',

  `User_name` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The user name used to connect to the master.',

  `User_password` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The password used to connect to the master.',

  `Port` int(10) unsigned NOT NULL COMMENT 'The network port used to connect to the master.',

  `Connect_retry` int(10) unsigned NOT NULL COMMENT 'The period (in seconds) that the slave will wait before trying to reconnect to the master.',

  `Enabled_ssl` tinyint(1) NOT NULL COMMENT 'Indicates whether the server supports SSL connections.',

  `Ssl_ca` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The file used for the Certificate Authority (CA) certificate.',

  `Ssl_capath` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The path to the Certificate Authority (CA) certificates.',

  `Ssl_cert` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the SSL certificate file.',

  `Ssl_cipher` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the cipher in use for the SSL connection.',

  `Ssl_key` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the SSL key file.',

  `Ssl_verify_server_cert` tinyint(1) NOT NULL COMMENT 'Whether to verify the server certificate.',

  `Heartbeat` float NOT NULL,

  `Bind` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'Displays which interface is employed when connecting to the MySQL server',

  `Ignored_server_ids` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The number of server IDs to be ignored, followed by the actual server IDs',

  `Uuid` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The master server uuid.',

  `Retry_count` bigint(20) unsigned NOT NULL COMMENT 'Number of reconnect attempts, to the master, before giving up.',

  `Ssl_crl` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The file used for the Certificate Revocation List (CRL)',

  `Ssl_crlpath` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The path used for Certificate Revocation List (CRL) files',

  `Enabled_auto_position` tinyint(1) NOT NULL COMMENT 'Indicates whether GTIDs will be used to retrieve events from the master.',

  PRIMARY KEY (`Host`,`Port`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Master Information';

 

CREATE TABLE `slave_relay_log_info` (

  `Number_of_lines` int(10) unsigned NOT NULL COMMENT 'Number of lines in the file or rows in the table. Used to version table definitions.',

  `Relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the current relay log file.',

  `Relay_log_pos` bigint(20) unsigned NOT NULL COMMENT 'The relay log position of the last executed event.',

  `Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the master binary log file from which the events in the relay log file were read.',

  `Master_log_pos` bigint(20) unsigned NOT NULL COMMENT 'The master log position of the last executed event.',

  `Sql_delay` int(11) NOT NULL COMMENT 'The number of seconds that the slave must lag behind the master.',

  `Number_of_workers` int(10) unsigned NOT NULL,

  `Id` int(10) unsigned NOT NULL COMMENT 'Internal Id that uniquely identifies this record.',

  PRIMARY KEY (`Id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Relay Log Information';

 

CREATE TABLE `slave_worker_info` (

  `Id` int(10) unsigned NOT NULL,

  `Relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,

  `Relay_log_pos` bigint(20) unsigned NOT NULL,

  `Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,

  `Master_log_pos` bigint(20) unsigned NOT NULL,

  `Checkpoint_relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,

  `Checkpoint_relay_log_pos` bigint(20) unsigned NOT NULL,

  `Checkpoint_master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,

  `Checkpoint_master_log_pos` bigint(20) unsigned NOT NULL,

  `Checkpoint_seqno` int(10) unsigned NOT NULL,

  `Checkpoint_group_size` int(10) unsigned NOT NULL,

  `Checkpoint_group_bitmap` blob NOT NULL,

  PRIMARY KEY (`Id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Worker Information';

 

最后重启mysqld即可。

 

 

可能形成这种问题的原因是做了形如rm -rf ibdata ib_logfile0 等操作。

分享到:
评论

相关推荐

    mysql5.6.50安装资源包

    MySQL 5.6.50 是一个非常稳定且广泛使用的数据库管理系统版本,它在数据库社区中享有很高的声誉。本文将详细介绍如何使用提供的安装资源包进行MySQL 5.6.50的编译安装过程,以及在这个过程中可能遇到的关键知识点。 ...

    简化版MySQL5.6.51解压即用

    2021年1月20日,MySQL5.6发布了最后一个维护版本——5.6.51,从此,MySQL正式告别了5.6时代。 MySQL5.6于2013年正式发布(GA),它是MySQL一个非常重要的里程碑。 它在InnoDB,分区,Performance Schema,优化器和...

    mysql5.6.x版本的安装图解(64位)

    - MySQL 5.6.x引入了许多新特性,如InnoDB引擎的性能优化、分区表支持、更好的查询优化器等。用户可以通过`mysqladmin`命令检查服务器状态,或者使用`mysqldump`备份数据库。 9. **升级与迁移**: - 如果是从旧...

    centos6 安装mysql5.6.x版本

    在Linux系统中,CentOS 6是一个非常流行的发行版,而MySQL 5.6.x是其常用的关系型数据库管理系统。本教程将详细讲解如何在CentOS 6上安装MySQL 5.6.x版本,并涉及如何自定义安装路径,以满足特定的需求。 1. **准备...

    MySql.rar 安装包-5.6.48.0

    3. **SQL标准支持**:MySQL 5.6增加了对更多SQL标准的支持,例如窗口函数和 Common Table Expressions (CTE),这些特性使得开发者可以编写更复杂的查询语句,同时保持良好的可读性和可维护性。 4. **半同步复制**:...

    mysql-5.6.50.rar

    1. **性能优化**:MySQL 5.6引入了InnoDB存储引擎的并行插入,提高了多线程插入性能。另外,查询优化器也得到了改进,可以更有效地处理复杂查询。 2. **半同步复制**:这个版本引入了半同步复制,确保主库上的事务...

    mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz

    1. **性能提升**:MySQL 5.6引入了InnoDB存储引擎的并行插入,显著提高了插入大量数据时的性能。同时,查询缓存的改进使得处理重复查询更加高效。 2. **全文搜索**:MySQL 5.6增强了全文索引功能,支持更多的分词器...

    mysql-5.6.49-winx64.zip

    首先,MySQL 5.6系列引入了InnoDB存储引擎的重大改进,提升了事务处理速度和并发性能。例如,InnoDB Plugin的集成提供了更好的行级锁定,减少了锁竞争,从而提高了多用户环境下的性能。此外,支持更多的自适应哈希...

    mysql 5.6.10.1-windows版本

    - **性能优化**:MySQL 5.6 系列引入了一系列性能优化措施,如 InnoDB 表空间加密、分区表索引优化等。 - **安全性增强**:增加了对 SSL/TLS 加密的支持,提高了数据传输的安全性。 - **新功能支持**:支持更多的 ...

    mysql5.6.64.tar.gz

    例如,InnoDB存储引擎在5.6版本中得到了显著优化,支持更高的并发事务处理能力,并提供了更多行级锁定选项,以降低锁定冲突。 "mysql5.6.64.tar.gz" 是一个包含MySQL 5.6.64 RPM包及其依赖库的压缩文件。RPM(Red ...

    mysql-5.6.50-linux-glibc2.12-x86_64.tar.gz

    MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,其版本5.6.50是一个稳定且功能丰富的版本。在本讨论中,我们将深入探讨这个特定的MySQL版本以及与其相关的Hadoop技术。 MySQL 5.6引入了许多增强功能,提高...

    MySQL-5.6.48-1.el7.x86_64.rpm-bundle.tar.zip

    这里我们关注的是MySQL的一个特定版本——5.6.48,这是一个稳定的版本,提供了许多性能改进和新特性。该标题提及的“MySQL-5.6.48-1.el7.x86_64.rpm”是一个针对Linux发行版CentOS 7的安装包,适用于64位(x86_64)...

    mysql-installer-community-5.6.msi安装版

    MySQL 5.6 版本是 MySQL 5.x 系列中的一个重要版本,该版本在多个方面进行了优化和改进,尤其在性能提升、存储引擎增强以及复制功能等方面有着显著的进步。 #### 二、MySQL 5.6 主要特性 ##### 1. 性能改进 - **...

    mysql5.6.zip

    MySQL 5.6是MySQL数据库管理系统的一个重要版本,它在2013年发布,带来了许多性能提升和新特性。MySQL是一种广泛使用的开源关系型数据库系统,基于SQL(结构化查询语言),支持多种操作系统,包括Windows、Linux、...

    mysql 5.6 新特性-innodb

    ### MySQL 5.6 新特性-InnoDB:深入剖析 #### MySQL 5.6 版本简介及重要性 MySQL 5.6 是 MySQL 的一个重要版本,相比于之前的版本(如 MySQL 5.1 和 5.5),它在多个方面进行了显著的改进。这些改进不仅提升了...

    mysql 5.6.40.1

    1. **InnoDB存储引擎优化**:MySQL 5.6对InnoDB存储引擎进行了大量改进,包括支持更高的并发性,如改进的自适应哈希索引、多线程插入缓冲区合并等。这使得处理大量并发事务时的性能得到了显著提升。 2. **Full-Text...

    mysql-installer-community-5.6.10.1.zip windows下的安装包

    1. **性能优化**:MySQL 5.6引入了InnoDB存储引擎的性能增强,包括更高的并发处理能力、更快的全文搜索和更好的查询缓存机制。 2. **InnoDB Plugin**:默认的事务处理引擎InnoDB进行了重大升级,支持自适应哈希索引...

    mysql-5.6.48-winx64.zip

    2. **InnoDB增强**:InnoDB作为MySQL的默认存储引擎,5.6版本对其进行了大量优化,比如支持自适应hash索引、压缩表、并行插入等,提升了事务处理能力和数据安全性。 3. **Full-text Search**:全文搜索功能在5.6...

    MySQL Installer 5.6.21.2.zip

    MySQL Installer 5.6.21.2 是一个专门针对MySQL数据库管理系统设计的安装程序,主要用于简化MySQL服务器、客户端工具以及其他相关组件的安装过程。这个版本号5.6.21.2表明它是MySQL 5.6系列的一个更新,该系列在2013...

    mysql-5.6.51-winx64.zip

    MySQL 5.6是MySQL数据库管理系统的一个重要版本,它提供了许多功能增强和性能优化,尤其适合Windows操作系统。这个“mysql-5.6.51-winx64.zip”压缩包包含了一个免安装的MySQL 5.6.51版本,适用于64位Windows系统。...

Global site tag (gtag.js) - Google Analytics