mysql去除重复数据 重建表_MySQL 中重建mysql库中的表
背景 对MySQL错误日志进行排查,发现几乎所有的服务器都会报类似错误
查看mysql错误日志
发现如下报错
[ERROR] InnoDB: Table`mysql`.`innodb_table_stats` not found.
2018-12-18T07:09:23.658189Z 1969029 [ERROR]InnoDB: Table `mysql`.`innodb_table_stats` not found.
2018-12-18T07:09:23.658189Z 1969029 [ERROR]InnoDB: Table `mysql`.`innodb_table_stats` not found.
2018-12-18T07:09:23.668231Z 1969029 [ERROR]InnoDB: Table `mysql`.`innodb_table_stats` not found.
2018-12-18T07:09:23.668231Z 1969029 [ERROR]InnoDB: Table `mysql`.`innodb_table_stats` not found.
2018-12-18T07:09:23.668231Z 1969029 [ERROR]InnoDB: Table `mysql`.`innodb_table_stats` not found.
2018-12-18T07:09:23.678192Z 1969029 [ERROR]InnoDB: Table `mysql`.`innodb_table_stats` not found.
2018-12-18T07:10:11.298340Z 0 [ERROR]InnoDB: Table `mysql`.`innodb_table_stats` not found.
2018-12-18T07:10:11.298340Z 0 [Warning]InnoDB: Recalculation of persistent statistics requested for table `dzyd`.`#sql-528_1e0b85#p#gps_p_20181218`/* Partition `gps_p_20181218` */ but the required persistent statistics storageis not present or is corrupted. Using transient stats instead.
2018-12-18T07:10:26.158389Z 1969029 [ERROR]InnoDB: Table `mysql`.`innodb_table_stats` not found.
日志解析 :1,ql库中innodb_table_stats,innodb_index_stats 不存在 (可不仅仅是这两个表,可能还有其他表)
2,创建gps_p_20181218表时因为innodb_table_stats,innodb_index_stats这两个表的状态 出现意外而无法进行
出现上述情况原因
1数据库打开这几张表的默认引擎为MyISAM,但是这几张表在建表时的引擎为INNODB
2 数据库迁徙 或初始化时 删除过ibdata1(未知原因造成数据表丢失或损坏)
解决方法 删表重建(还可以全部重建,谨慎起见还是缺啥建啥吧)
1手动删建
mysql> use mysql;
CREATE TABLE `innodb_index_stats` (
`database_name` varchar(64) COLLATEutf8_bin NOT NULL,
`table_name` varchar(64) COLLATEutf8_bin NOT NULL,
`index_name` varchar(64) COLLATEutf8_bin NOT NULL,
`last_update` timestamp NOT NULLDEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`stat_name` varchar(64) COLLATEutf8_bin NOT NULL,
`stat_value` bigint(20) unsigned NOTNULL,
`sample_size` bigint(20) unsignedDEFAULT NULL,
`stat_description` varchar(1024)COLLATE utf8_bin NOT NULL,
PRIMARY KEY(`database_name`,`table_name`,`index_name`,`stat_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8COLLATE=utf8_bin STATS_PERSISTENT=0;
CREATE TABLE `innodb_table_stats` (
`database_name` varchar(64) COLLATEutf8_bin NOT NULL,
`table_name` varchar(64) COLLATEutf8_bin NOT NULL,
`last_update` timestamp NOT NULLDEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`n_rows` bigint(20) unsigned NOTNULL,
`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=utf8COLLATE=utf8_bin STATS_PERSISTENT=0;
2登录数据库,进入mysql库,执行如下SQL删除表记住,一定要是drop table if exists
执行完后,可以用show tables查看一下,看表的数据是否已经比删除之前减少了
2、上一步操作完成后,停止数据库(5.7不用停止数据库),并进入到数据库数据文件所在目录,删除上面几个表所对应的idb文件
3、重新启动数据库,进入到mysql库,重建上面被删除的表结构:(经测试5.7不用重启立即生效)数据库的建表脚本在mysql软件的安装目录的share目录下或者mysql的安装包的script目录下(找一下看)
mysql去除重复数据 重建表_MySQL 中重建mysql库中的表相关推荐
- mysql去除重复数据
mysql去除重复数据 根据one列查询重复的数据(根据单列判断重复) SELECT * FROM tab_test WHERE ONE IN (SELECT ONE FROM testdelete ...
- mysql如何恢复单表_MySQL如何恢复单库或单表,以及可能遇到的坑
前言: MySQL 逻辑备份工具最常用的就是 mysqldump 了,一般我们都是备份整个实例或部分业务库.不清楚你有没有做过恢复,恢复场景可能就比较多了,比如我想恢复某个库或某个表等.那么如何从全备 ...
- mysql 删除重复数据 保留一个_MySQL学习笔记-删除重复数据只保留一条
有这样一张表,表数据及结果如下: 可以看出,school_name的字段值有重复数据(Abraham Lincoln High School 和Agoura High School分别出现两次),那么 ...
- MySQL去除重复数据,保留一条数据
于我而言,这篇文章提供帮助最大的语句是 DELETE c1 FROM contacts c1 INNER JOIN contacts c2 WHEREc1.id > c2.id AND c1.e ...
- mysql去除重复数据 重建表_删除掉mysql 的.ibd,.frm,ibdata1,ib_logfile0和ib_logfile1文件后再drop表。然后重建此表,有问题吗...
创建已经丢62616964757a686964616fe58685e5aeb931333433656631失的表结构 先要安装 mysql-utilities. // RedHatyum -y ins ...
- mysql去除重复数据保留一条_MySQL中删除重复数据只保留一条
用SQL语句,删除掉重复项只保留一条 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 SELECT ...
- mysql scrapy 重复数据_小心避坑:MySQL分页时使用 limit+order by 会出现数据重复问题...
作者:猿码道http://www.jianshu.com/p/544c319fd838 0 问题描述 在MySQL中我们通常会采用limit来进行翻页查询,比如limit(0,10)表示列出第一页的1 ...
- mysql中如何去除重复数据_MySQL如何去除重复数据?
这篇文章主要介绍了MySQL 去除重复数据实例详解的相关资料,需要的朋友可以参考下 MySQL 去除重复数据实例详解 有两个意义上的重复记录,一是完全重复的记录,也即所有字段均都重复,二是部分字段重复 ...
- mysql中如何去除重复数据_mysql数据库如何去除重复数据
mysql数据库去除重复数据的方法:1.查询需要删除的记录,会保留一条记录:2.删除重复记录,只保留一条记录,代码为[delete a from test1 a, (...)as bid from t ...
- mysql基础14(关于mysql数据库在没有主键情况下去除重复数据办法)
关于mysql数据库在没有主键情况下去除重复数据办法 约定 表名:mat 根据 cat 字段去重 新增加主键为 id 步骤 1.为mat新增一列自增主键 alter table mat add col ...
最新文章
- 颈椎前路caspar撑开器_“骨质增生”导致的颈椎病怎么破?
- linux apple开发环境,Objective-C开发环境设置
- 微信“拍一拍”,竟然可以使用Python实现,你get到了吗?
- 【OpenCV】OpenCV实战从入门到精通之 -- 图像对比度、亮度值调整
- PAT乙级(1029 旧键盘)
- Java NIO问题总结
- vue iview组件表格 render函数的使用
- SpringBoot-Learning-作者:翟永超
- 基于RS485的Modbus协议
- 阿里云服务器怎么配置安全组?
- python 批量下载视频_Python一键批量下载抖音无水印视频
- 【What if 系列】拖住那架飞机!
- Mac系统重置快捷键
- 通往测试架构师之路(1):那些家伙在干什么?
- linux操作压缩软件
- STM32 HAL库获取系统时钟与标准库获取系统时钟
- 情境领导者-第六章、产生胜利者 故事
- Kony开发入门及学习路线介绍
- html5制作学学课件,网页设计与制作教学课件作者HTML+CSS+JavaScript张洪斌教学资源5_JavaScript编程_电子课件课件.ppt...
- AD2019查看网络走线
热门文章
- Linux服务器配置Redis并启用PHP支持
- Zookeeper(一) zookeeper基础使用
- 这些 iOS 面试基础题目,你都深入了解吗?
- Jquery读取.Net WebService Json数据
- 怎样区分现代艺术和幼儿涂鸦
- php基于cookie的注册,php使用cookie实现记住用户名和实现代码
- 拓端tecdat|使用Python和Keras进行主成分分析、神经网络构建图像重建
- 拓端tecdat|豆瓣大数据分析告诉你,高评分影视密码
- java字符串计数从零还是从一,java – 计数和所有字符相同的最大字符串的起始索引...
- (20)python_matplotlib解决中文乱码问题