问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么损坏mysql数据表的索引

发布网友 发布时间:2022-04-25 23:49

我来回答

2个回答

懂视网 时间:2022-05-01 09:31


    2、CC攻击或者蜘蛛抓取导致大量的小查询(可能没有索引)

 

        一、查看数据库,有没有存在慢查询和锁表情况。(show full processlist),关注:查看最长时间查询的几个连接。注意:(带动作的连接,如果只连接值是null)不操作可忽略

      一、1:如果存在表锁查看什么表锁住了,show OPEN TABLES where In_use > 0;。

故障原因: 二、经过查询2条SQL缺少索引,但是这2条索引查询时间都在1秒正常值内,因为查询较多引起的堵塞。(果断添加这2条缺少的索引)。

故障原因:   二、2、SELECT * FROM tp_supplier WHERE supplier_id > 0 AND fenxiao_cate_id_1 = ‘1376827‘ AND is_show = 1 AND LENGTH(brand_logo) > 0 AND is_recommend = 1 ORDER BY order_by DESC LIMIT 0, 7  (该SQL查询字段中 tp_supplier.brand_logo > 0 传入的数据类型与表字段定义不一致,会导致索引失效,建议改为 tp_supplier.brand_logo > ‘0‘ )

      三、5分钟后数据库恢复正常,网站恢复正常,一脸无懵逼。

常用故障诊断工具:top 、vmstat 、iotop、ifstatus、mytop、iftop -i eth1、iostat

 

     

缺少索引导致的服务器和MYSQL故障。

标签:

热心网友 时间:2022-05-01 06:39

损坏mysql数据表的索引
mysql表索引被破坏的问题及解决
下午上班,惊闻我的dedecms的网站出问题了,访问一看,果然全屏报错,检查mysql日志,错误信息为:
Table '.\dedecmsv4\dede_archives' is marked as crashed and should be repaired
提示说cms的文章表dede_archives被标记有问题,需要修复。于是赶快恢复历史数据,上网查找原因。最终将问题解决。解决方法如下:
找到mysql的安装目录的bin/myisamchk工具,在命令行中输入:
myisamchk -c -r ../data/dedecmsv4/dede_archives.MYI
然后myisamchk 工具会帮助你恢复数据表的索引。重新启动mysql,问题解决。
问题分析:
1、错误产生原因,有网友说是频繁查询和更新dede_archives表造成的索引错误,因为我的页面没有静态生成,而是动态页面,因此比较同意
这种说法。还有说法为是MYSQL数据库因为某种原因而受到了损坏,如:数据库服务器突发性的断电、在提在数据库表提供服务时对表的原文件
进行某种操作都有可能导致MYSQL数据库表被损坏而无法读取数据。总之就是因为某些不可测的问题造成表的损坏。
2、问题解决办法。
当你试图修复一个被破坏的表的问题时,有三种修复类型。如果你得到一个错误信息指出一个临时文件不能建立,删除信息所指出的文件并再
试一次--这通常是上一次修复操作遗留下来的。
这三种修复方法如下所示:
% myisamchk --recover --quick /path/to/tblName
% myisamchk --recover /path/to/tblName
% myisamchk --safe-recover /path/to/tblName
第一种是最快的,用来修复最普通的问题;而最后一种是最慢的,用来修复一些其它方法所不能修复的问题。
检查和修复MySQL数据文件
如果上面的方法无法修复一个被损坏的表,在你放弃之前,你还可以试试下面这两个技巧:
如果你怀疑表的索引文件(*.MYI)发生了不可修复的错误,甚至是丢失了这个文件,你可以使用数据文件(*.MYD)和数据格式文件(*.frm)重新生
成它。首先制作一个数据文件(tblName.MYD)的拷贝。重启你的MySQL服务并连接到这个服务上,使用下面的命令删除表的内容:
mysql> DELETE FROM tblName;
在删除表的内容的同时,会建立一个新的索引文件。退出登录并重新关闭服务,然后用你刚才保存的数据文件(tblName.MYD)覆盖新的(空)数据
文件。最后,使用myisamchk执行标准的修复(上面的第二种方法),根据表的数据的内容和表的格式文件重新生成索引数据。
如果你的表的格式文件(tblName.frm)丢失了或者是发生了不可修复的错误,但是你清楚如何使用相应的CREATE
TABLE语句来重新生成这张表,你可以重新生成一个新的.frm文件并和你的数据文件和索引文件(如果索引文件有问题,使用上面的方法重建一
个新的)一起使用。首先制作一个数据和索引文件的拷贝,然后删除原来的文件(删除数据目录下有关这个表的所有记录)。
启动MySQL服务并使用当初的CREATE
TABLE文件建立一个新的表。新的.frm文件应该可以正常工作了,但是最好你还是执行一下标准的修复(上面的第二种方法)。
3、myisamchk工具介绍(见mysql的官方手册)
可以使用myisamchk实用程序来获得有关数据库表的信息或检查、修复、优化他们。myisamchk适用MyISAM表(对应.MYI和.MYD文件的表)。
调用myisamchk的方法:
shell> myisamchk [options] tbl_name ...
options指定你想让myisamchk做什么。在后面描述它们。还可以通过调用myisamchk --help得到选项列表。
tbl_name是你想要检查或修复的数据库表。如果你不在数据库目录的某处运行myisamchk,你必须指定数据库目录的路径,因为myisamchk不知
道你的数据库位于哪儿。实际上,myisamchk不在乎你正在操作的文件是否位于一个数据库目录;你可以将对应于数据库表的文件拷贝到别处并
且在那里执行恢复操作。
如果你愿意,可以用myisamchk命令行命名几个表。还可以通过命名索引文件(用“
.MYI”后缀)来指定一个表。它允许你通过使用模式“*.MYI”指定在一个目录所有的表。例如,如果你在数据库目录,可以这样在目录下检查
所有的MyISAM表:
shell> myisamchk *.MYI
如果你不在数据库目录下,可通过指定到目录的路径检查所有在那里的表:
shell> myisamchk /path/to/database_dir*.MYI
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
win10电脑hdmiwin10笔记本hdmi连接电视没反应 平板电脑与电视机联接华为平板怎么投屏到电视上 长虹chiq电脑无线投影如何无线把电脑屏幕投影到电视屏幕上 模拟电视电脑系统智能电视怎么变成电脑系统 ops电脑加装固态硬盘ops电脑是什么意思 我想问一下立宇泰电子的ARMSYS6410开发板可以外接什么模块? 小心那些处理过的2元绿幽灵,教你这几招就能识别! 如何辨别人民币是否水洗过,刚有兴趣做收藏可去买第四套人民币还有是否水... oppor7splus手机怎么样现在?照相好不好。是多会儿出来的机子呢。目前... ps怎么改像素大小且不模糊 怎样使用Mysqlcheck来检查和修复,优化表 如何使用phpmyadmin工具进行修复MySQL数据库表操作 如何处理mysql中表损坏问题 mysql数据库表损坏如何修复呢? mysql如何显示出现异常的表?怎么修复全部异常表? 使用在线转换器可以把ppt转成pdf吗 mysql的表坏了怎么修复啊? 怎样修复mysql表 如何修复MySQL数据库表 户户通和有线是一个概念吗 北斗户户通的线越长信号强度和信号质量会越低吗? 海旋风户户通三条线怎么链接电视一个插口 户户通连接线最长超过多少米没信号? 户户通线那个网丝断了有信号吗? 户户通001线破损能重新接吗? 户户通信号线老被老鼠咬坏怎么办? 户户通机顶盒视频连接线和液晶电视不配套怎么办? 户户通和电视的数据线怎么联接? 户户通怎么叫挂线安装? 户户通线怎么安装 mysql 怎么故意损坏表 我想有个测试的损坏表,让我自动修复做测试! navicat for mysql中如何设置自动修复崩溃的数据表? 总结MySQL建表、查询优化的一些实用小技巧 lq80kf打印断线打印机打出来是这样 是什么原因 有解决方法吗 色带也换了? EPSON LQ-80KF针式打印机能打A4纸吗? 爱普生LQ-80KF怎么打发票 EPSONLQ-80KF打印机显示错误-正在打印怎么处理? 爱普生LQ-80KF针式打印机无法打印也重新装驱动了,也换另一台电脑试了,就是不能打,怎么回事? 爱普生打印机LQ-80KF总是显示打印错误,怎么解决 如何设置爱普生LQ-80KF针式打印机的默认纸张格式? LQ-80KF 打印机打印发票 爱普生LQ80KF打印机,请问怎么设置从后面进纸,纸张是3联或者4联的 谁能帮忙解决一下,我买的是爱普生LQ-80KF的打印机,驱动里怎么设置连续进纸啊??? 爱普生lq-80kf打印机色带怎么更换? 爱普生LQ80KF打印机打印A4纸后出现装纸不正确提示 爱普生LQ-80KF针式打印机打印的文件颜色太浅? epson lq 80kf机型怎么才能打印比较厚的东西(比如证书之类的) 冰淇淋品牌排名? 筷子的所有用途 什么冰淇淋一百多元?