MySQL innodb_table_stats表不存在的解决方法

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

原作者未知,这是从一份pdf里面摘录出来的。


MySQL  版本 5.6.14

公司有几台 MySQL 服务器的错误日志显示 , 有几个系统表不存在 .

innodb_table_stats

innodb_index_stats

slave_master_info

slave_relay_log_info

slave_worker_info

这是因为数据库初始化的时候 ,dba 可能删除过 ibdata1 文件

虽然重启之后 , 数据库会自动创建一个 ibdata1 文件 , 但是上述系统表也是 innodb 引擎 , 所以不能访问了 .

这虽然不会影响业务 , 但是使用 innobackupex 备份的时候 , 会写入错误日志 .

 

最后错误日志里 , 都是这种信息 . 影响日常检查。

 

解决的方法 .

1. 删除上述系统表

droptable mysql.innodb_index_stats;

droptable mysql.innodb_table_stats;

droptable mysql.slave_master_info;

droptable mysql.slave_relay_log_info;

droptable mysql.slave_worker_info;

 

 

2. cd mysqldatadir删除相关的.frm .ibd 文件

rm -rfinnodb_index_stats*

rm -rfinnodb_table_stats*

rm -rfslave_master_info*

rm -rfslave_relay_log_info*

rm -rfslave_worker_info*

 

 

3. 重新创建上述系统表

CREATETABLE `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,

PRIMARYKEY (`database_name`,`table_name`,`index_name`,`stat_name`)

)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;

 

 

CREATETABLE `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,

PRIMARYKEY (`database_name`,`table_name`)

)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;

 

 

CREATETABLE `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 themaster binary log currently being read from the master.',

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

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

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

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

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

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

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

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

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

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

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

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

`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 isemployed when connecting to the MySQL server',

`Ignored_server_ids`text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The number of server IDs tobe 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 themaster, before giving up.',

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

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

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

PRIMARYKEY (`Host`,`Port`)

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

 

 

CREATETABLE `slave_relay_log_info` (

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

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

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

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

file wereread.',

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

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

`Number_of_workers`int(10) unsigned NOT NULL,

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

PRIMARYKEY (`Id`)

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

 

 

CREATETABLE `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,

PRIMARYKEY (`Id`)

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

 

 

4. 如果是Slave 备机停止复制记录pos 等信息

> stop slave;

Query OK,0 rows affected (0.09 sec)

 

5. 重启数据库

 

6. 如果Slave 启动报错则使用步骤的信息重新change master

再删除 ibdata1 文件的时候 , 一定要想起系统数据库还有 5  innodb  ...










本文转自 lirulei90 51CTO博客,原文链接:http://blog.51cto.com/lee90/1913150,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
存储 关系型数据库 MySQL
MySQL InnoDB数据存储结构
MySQL InnoDB数据存储结构
|
1月前
|
关系型数据库 MySQL 数据库
MySQL忘记root密码、远程无法连接的解决方法
MySQL忘记root密码、远程无法连接的解决方法
|
1月前
|
存储 缓存 关系型数据库
MySQL的varchar水真的太深了——InnoDB记录存储结构
varchar(M) 能存多少个字符,为什么提示最大16383?innodb怎么知道varchar真正有多长?记录为NULL,innodb如何处理?某个列数据占用的字节数非常多怎么办?影响每行实际可用空间的因素有哪些?本篇围绕innodb默认行格式dynamic来说说原理。
828 6
MySQL的varchar水真的太深了——InnoDB记录存储结构
|
1月前
|
关系型数据库 MySQL 数据安全/隐私保护
关于Navicat Premium连接MySQL出现2059错误解决方法
关于Navicat Premium连接MySQL出现2059错误解决方法
|
2月前
|
关系型数据库 MySQL Docker
MySQL 5.7 timestamp类型设置default value为'0000-00-00 00:00:00'报错的解决方法
MySQL 5.7 timestamp类型设置default value为'0000-00-00 00:00:00'报错的解决方法
|
2月前
|
存储 缓存 关系型数据库
MySQL - 存储引擎MyISAM和Innodb
MySQL - 存储引擎MyISAM和Innodb
|
8天前
|
存储 关系型数据库 MySQL
MySQL引擎对决:深入解析MyISAM和InnoDB的区别
MySQL引擎对决:深入解析MyISAM和InnoDB的区别
23 0
|
1月前
|
缓存 关系型数据库 MySQL
MySQL登录时出现Access denied for user ‘root‘@‘localhost‘ (using password: YES)无法打开的解决方法
MySQL登录时出现Access denied for user ‘root‘@‘localhost‘ (using password: YES)无法打开的解决方法
|
2月前
|
存储 SQL 关系型数据库
Mysql专栏 - mysql、innodb存储引擎、binlog的工作流程
Mysql专栏 - mysql、innodb存储引擎、binlog的工作流程
75 0
|
3月前
|
存储 算法 关系型数据库
MySQL相关(八)- innodb行级锁深入剖析
MySQL相关(八)- innodb行级锁深入剖析
45 0