mysql 迁移表时忽略索引_Mysql迁移新环境索引损坏
技术支持产品重新部署一套环境。由运维迁移后Mysql发现好多表使用不了
慢sql:
> select n.news_id,n.url,n.source_id,n.tmcreate,n.caption,s.source_name from wly_news as n left join wly_source as s on n.source_id=s.source_id where 1 and s.source_id in (68663,68666,68667,68669,68684,68755) order by n.news_id desc limit 0,10
查看日志:
[ERROR] /usr/libexec/mysqld: Incorrect key file for table '/tmp/#sql_2f1c_21.MYI'; try to repair it
好吧,准备修复数据吧。
和运维沟通……扯了半天没解决问题。最终自己解决:
尝试键了几个索引,依然不行适得其反(具体可以百度,多表联查索引问题)……
于是删除新增索引,使用表修复命令:
数据表大部分使用的是MyISAM。众所周知,MyISAM表在服务器意外宕机或者mysqld进程挂掉以后,MyISAM表会损坏,数据小的话修复还比较快,但是数据如果有10G以上,那就悲剧了。那我们如何加快repair table快速高效执行呢?下面我们来看看解决方法。
首先通过repair table修复:
mysql> repair table test;
+—————+——–+———-+———————————————————+
| Table | Op | Msg_type | Msg_text |
+—————+——–+———-+———————————————————+
| test.test | repair | Error | Incorrect key file for table ‘test’; try to repair it |
| test.test | repair | error | Corrupt
如果还是没用,运行下面命令
mysql> repair table test USE_FRM;
+—————+——–+———-+———————————————————+
| Table | Op | Msg_type | Msg_text |
+—————+——–+———-+———————————————————+
| test.test | repair | Error |Number of rows changed from 0 to 110423 |
| test.test | repair | status | OK
按理应该可以了(这一步已经解决问题)。
如果还是没用,则退出mysql,执行如下修复动作:
myisamchk -of /var/lib/mysql/test/test.MYI
myisamchk -r /var/lib/mysql/test/test.MYI
myisamchk safe-recover /var/lib/mysql/test/test.MYI
再重启mysql后应该可以正常了。
mysql 迁移表时忽略索引_Mysql迁移新环境索引损坏相关推荐
- mysql建表时主键_mysql建表时设置主键的方法
mysql建表时设置主键的方法 发布时间:2020-10-10 15:17:28 来源:亿速云 阅读:119 作者:小新 mysql建表时设置主键的方法?这个问题可能是我们日常学习或工作经常见到的.希 ...
- mysql建表时主键_mysql建表时怎么设置主键?
设置方法:在"CREATE TABLE"语句中,通过"PRIMARY KEY"关键字来指定主键,语法格式"字段名 数据类型 PRIMARY KEY [ ...
- mysql 创建表时提示错误代码_MySQL创建表时遇到的错误
学习MySQL第一个程序就遇到了bug .创建表时需注意的事项加以总结: 1.先创建数据库: create database 数据库名:然后连接要用的数据库 use 数据库名:下面就可以执行建表语句 ...
- mysql创建表时显示错误_MYSQL创建表出现错误 ERROR Code 1118如何解决
ERROR Code 1118.Row size too large. The maximum row size for the used table type, not counting BLOBs ...
- mysql建表时插入中文_Mysql新建表,插入中文时报错“Incorrect string value: '\xE4\xBD\xA0\xE5\xA5\xBD' for column”问题...
有时候我们在往数据库中输入信息时,如果输入的内容是中文,会报错"Incorrect string value: '\xE4\xBD\xA0\xE5\xA5\xBD' for column&q ...
- mysql创建表时添加范式_MySql三大范式与数据库设计和表创建常用语句
[数据库设计的三大范式] 1.第一范式(1NF First Normal Fromate):数据表中的每一列(字段),必须是不可拆分的最小单元.也就是确保每一列的原子性. 例如: userInfo: ...
- mysql创建表时默认默认_mysql创建数据表时指定默认值教程
指定默认值 如果在插入行时没有给出值,MySQL允许指定此时使用的默认值.默认值用 CREATE TABLE 语句的列定义中的 DEFAULT 关键字指定. 请看下面的例子: 输入:create ta ...
- mysql创建表时设置外键_mysql创建表时设置外键约束的方法
mysql创建表时设置外键约束的方法 发布时间:2020-06-17 15:54:11 来源:亿速云 阅读:312 作者:元一 MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中, ...
- oracle与mysql创建表时的区别
oracle创建表时,不支持在建表时同时增加字段注释.故采用以下方式: #创建表 CREATE TABLE predict_data as (id integer NOT NULL, uid varc ...
最新文章
- MySQL里 unique 用法_mysql中unique key中在查询中的使用
- Spark源码阅读02-Spark核心原理之消息通信原理
- 厉害了!一文看懂各大互联网支付系统整体架构
- 深入理解js系列一作用域是什么
- oracle明文传输http,oracle密码在网络传输中的安全问题
- 收藏!斯坦福Andrew Ng教授“机器学习”26篇教程全译
- thinkphp——登录界面
- Windows10键盘快捷键大全
- GraphSAGE+FM+Transformer强强联手:评微信的GraphTR模型
- less面试_面试必看:less与sass的区别
- Andorid 创建相册或文件夹
- 用什么软件测试内存条稳定,使用内存条检测工具监测内存稳定性,内存条检测工具有哪些...
- 对你快速了解恶意软件以及病毒和反病毒
- 24个最新创意进度条设计,分分钟让你灵感爆表!!!
- 微信公众号 php sdk,GitHub - yuanchenglu/wechat-php-sdk: 微信公众平台 PHP SDK
- 数学界再出变态神人!竟用一个比基尼方程,暴力吊打美国数学家!看完我惊了......
- 【Ubuntu升级报错】“the following signatures couldn’t be verified because the public key is not available”
- KindEditor使用简介
- 29.VUE自定义指令directive和inserted
- 注册表更改win7的UAC方法
热门文章
- QT实现在图表顶部绘制一个附加元素(标注)
- QT的 QAndroidJniObject类的使用
- c++预处理命令 #line 用法
- 6.Boost之smartpointer
- Hibernate延迟加载
- 循环: 打印1~10
- html中两个冒号,css中双冒号和单冒号区别
- python减法怎么表示_python运算符号之一的减法怎么用,你真的学会用python的使用方法了嘛...
- fatal error: alsa/asoundlib.h: 没有那个文件或目录错误解决办法
- 前端基础12:递归调用,快速排序和简单DOM元素操作