自动修复crashed的数据表
程序员文章站
2022-06-13 16:56:53
...
mysql crashed
上面的代码是不是可以检查数据表是否crashed?
crashed的数据表是不是 $row['Engine'] = null?
没找到相关的文章,求助各位前辈。
对吗?
function check_table($table){ require dirname(__FILE__) .'/connection.php'; mysql_select_db("news",$db); $ret = mysql_query("SHOW TABLE STATUS WHERE `name` = '".$table."'"); while($row = mysql_fetch_array($ret)){ if($row['Engine']!='MyISAM'){ $wrong=1; } } if($wrong){ mysql_query("REPAIR TABLE ".$table); } mysql_close($db); $wrong=$ret=$row=NULL;}
上面的代码是不是可以检查数据表是否crashed?
crashed的数据表是不是 $row['Engine'] = null?
没找到相关的文章,求助各位前辈。
回复讨论(解决方案)
13.5.2.6. REPAIR TABLE语法
REPAIR [LOCAL | NO_WRITE_TO_BINLOG] TABLE
tbl_name [, tbl_name] ... [QUICK] [EXTENDED] [USE_FRM]
REPAIR TABLE用于修复被破坏的表。默认情况下,REPAIR TABLE与myisamchk --recover tbl_name具有相同的效果。REPAIR TABLE 对MyISAM和ARCHIVE表起作用。
而你却是在 !='MyISAM' 的条件下执行 REPAIR TABLE
13.5.2.6. REPAIR TABLE语法
REPAIR [LOCAL | NO_WRITE_TO_BINLOG] TABLE
tbl_name [, tbl_name] ... [QUICK] [EXTENDED] [USE_FRM]
REPAIR TABLE用于修复被破坏的表。默认情况下,REPAIR TABLE与myisamchk --recover tbl_name具有相同的效果。REPAIR TABLE 对MyISAM和ARCHIVE表起作用。
而你却是在 !='MyISAM' 的条件下执行 REPAIR TABLE
数据表格式为MyISAM,当数据表错误时,在phpmyadmin里显示表的状态为in use。
那么,怎么样的mysql语句,可以检查数据表错误,然后执行REPAIR TABLE语句?
谢谢。
好像应该是
if($row["Collation"]=='in use'){
对吗?
推荐阅读
-
MySQL MGR集群单主模式的自动搭建和自动化故障修复
-
修复webpack自动刷新页面慢问题的方法教程
-
layui数据表格跨行自动合并的例子
-
shell脚本自动修复mysql损坏的表
-
AirPods自动更新至最新的固件版本:修复bug/改善稳定性
-
[RK3399][Android7.1.1]Android-」Tethering:修复使用USB共享网络,拔出USB后 USB共享没有自动关闭的问题
-
win10开机怎么跳过自动修复? 电脑一直循环自动修复的三种解决办法
-
Mcafee scan 自动停止的修复方法
-
如何关闭漏洞自动修复 电脑漏洞自动修复功能关闭的方法
-
Win10系统故障无法自动修复怎么办?Win10使用还原点还原系统的方法