【问题描述】:
检查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 等操作。
相关推荐
MySQL 5.6.50 是一个非常稳定且广泛使用的数据库管理系统版本,它在数据库社区中享有很高的声誉。本文将详细介绍如何使用提供的安装资源包进行MySQL 5.6.50的编译安装过程,以及在这个过程中可能遇到的关键知识点。 ...
2021年1月20日,MySQL5.6发布了最后一个维护版本——5.6.51,从此,MySQL正式告别了5.6时代。 MySQL5.6于2013年正式发布(GA),它是MySQL一个非常重要的里程碑。 它在InnoDB,分区,Performance Schema,优化器和...
- MySQL 5.6.x引入了许多新特性,如InnoDB引擎的性能优化、分区表支持、更好的查询优化器等。用户可以通过`mysqladmin`命令检查服务器状态,或者使用`mysqldump`备份数据库。 9. **升级与迁移**: - 如果是从旧...
在Linux系统中,CentOS 6是一个非常流行的发行版,而MySQL 5.6.x是其常用的关系型数据库管理系统。本教程将详细讲解如何在CentOS 6上安装MySQL 5.6.x版本,并涉及如何自定义安装路径,以满足特定的需求。 1. **准备...
3. **SQL标准支持**:MySQL 5.6增加了对更多SQL标准的支持,例如窗口函数和 Common Table Expressions (CTE),这些特性使得开发者可以编写更复杂的查询语句,同时保持良好的可读性和可维护性。 4. **半同步复制**:...
1. **性能优化**:MySQL 5.6引入了InnoDB存储引擎的并行插入,提高了多线程插入性能。另外,查询优化器也得到了改进,可以更有效地处理复杂查询。 2. **半同步复制**:这个版本引入了半同步复制,确保主库上的事务...
1. **性能提升**:MySQL 5.6引入了InnoDB存储引擎的并行插入,显著提高了插入大量数据时的性能。同时,查询缓存的改进使得处理重复查询更加高效。 2. **全文搜索**:MySQL 5.6增强了全文索引功能,支持更多的分词器...
首先,MySQL 5.6系列引入了InnoDB存储引擎的重大改进,提升了事务处理速度和并发性能。例如,InnoDB Plugin的集成提供了更好的行级锁定,减少了锁竞争,从而提高了多用户环境下的性能。此外,支持更多的自适应哈希...
- **性能优化**:MySQL 5.6 系列引入了一系列性能优化措施,如 InnoDB 表空间加密、分区表索引优化等。 - **安全性增强**:增加了对 SSL/TLS 加密的支持,提高了数据传输的安全性。 - **新功能支持**:支持更多的 ...
例如,InnoDB存储引擎在5.6版本中得到了显著优化,支持更高的并发事务处理能力,并提供了更多行级锁定选项,以降低锁定冲突。 "mysql5.6.64.tar.gz" 是一个包含MySQL 5.6.64 RPM包及其依赖库的压缩文件。RPM(Red ...
MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,其版本5.6.50是一个稳定且功能丰富的版本。在本讨论中,我们将深入探讨这个特定的MySQL版本以及与其相关的Hadoop技术。 MySQL 5.6引入了许多增强功能,提高...
这里我们关注的是MySQL的一个特定版本——5.6.48,这是一个稳定的版本,提供了许多性能改进和新特性。该标题提及的“MySQL-5.6.48-1.el7.x86_64.rpm”是一个针对Linux发行版CentOS 7的安装包,适用于64位(x86_64)...
MySQL 5.6 版本是 MySQL 5.x 系列中的一个重要版本,该版本在多个方面进行了优化和改进,尤其在性能提升、存储引擎增强以及复制功能等方面有着显著的进步。 #### 二、MySQL 5.6 主要特性 ##### 1. 性能改进 - **...
MySQL 5.6是MySQL数据库管理系统的一个重要版本,它在2013年发布,带来了许多性能提升和新特性。MySQL是一种广泛使用的开源关系型数据库系统,基于SQL(结构化查询语言),支持多种操作系统,包括Windows、Linux、...
### MySQL 5.6 新特性-InnoDB:深入剖析 #### MySQL 5.6 版本简介及重要性 MySQL 5.6 是 MySQL 的一个重要版本,相比于之前的版本(如 MySQL 5.1 和 5.5),它在多个方面进行了显著的改进。这些改进不仅提升了...
1. **InnoDB存储引擎优化**:MySQL 5.6对InnoDB存储引擎进行了大量改进,包括支持更高的并发性,如改进的自适应哈希索引、多线程插入缓冲区合并等。这使得处理大量并发事务时的性能得到了显著提升。 2. **Full-Text...
1. **性能优化**:MySQL 5.6引入了InnoDB存储引擎的性能增强,包括更高的并发处理能力、更快的全文搜索和更好的查询缓存机制。 2. **InnoDB Plugin**:默认的事务处理引擎InnoDB进行了重大升级,支持自适应哈希索引...
2. **InnoDB增强**:InnoDB作为MySQL的默认存储引擎,5.6版本对其进行了大量优化,比如支持自适应hash索引、压缩表、并行插入等,提升了事务处理能力和数据安全性。 3. **Full-text Search**:全文搜索功能在5.6...
MySQL Installer 5.6.21.2 是一个专门针对MySQL数据库管理系统设计的安装程序,主要用于简化MySQL服务器、客户端工具以及其他相关组件的安装过程。这个版本号5.6.21.2表明它是MySQL 5.6系列的一个更新,该系列在2013...
MySQL 5.6是MySQL数据库管理系统的一个重要版本,它提供了许多功能增强和性能优化,尤其适合Windows操作系统。这个“mysql-5.6.51-winx64.zip”压缩包包含了一个免安装的MySQL 5.6.51版本,适用于64位Windows系统。...