超级 急 --- 如何 恢复删除 后 的表 下载了一个 Log Explorer , 可是在连接的时候就 会出现错误使用的是 MY SQL 的数据库,急等解决... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个工具确实比其它的要清晰一点,可以看到文件是否被破坏现在发现只有 *.MYD 文件是好的,然后知道 表的结构,不知道是否可以根据数据文件和表的创建语句 来修复表呢这个问题太关键 下载一个 文件还原软件到/mysql/var/ 或则是/mysql/date/ 里面把文件还原一下不过那个软件一定要能把名称还原完整要不然还原出来也不能用 如果只是被破坏而已就简单多了用repair.php 修复一下就可以了<?php error_reporting(7);#require './config.inc.php';#这里是数据库连接 我把它写在下面了$dbhost="localhost";$dbuser="root";$dbpw="";$dbname="swapdata";#$table="search_profile";mysql_connect($dbhost, $dbuser, $dbpw);mysql_select_db($dbname);if(!get_cfg_var("register_globals")) { foreach($HTTP_GET_VARS as $key => $val) { $$key = $val; }}function checktable($table, $loops = 0) { global $db, $nohtml; $result = mysql_query("CHECK TABLE $table"); if(!$nohtml) { echo "<tr bgcolor='#CCCCCC'><td colspan=4 align='center'>Checking table $table</td></tr>"; echo "<tr><td>Table</td><td>Operation</td><td>Type</td><td>Text</td></tr>"; } else { echo "\n>>>>>>>>>>>>>Checking Table $table\n"; echo "---------------------------------<br>\n"; } $error = 0; while($r = mysql_fetch_row($result)) { if($r[2] == 'error') { if($r[3] == "The handler for the table doesn't support check/repair") { $r[2] = 'status'; $r[3] = 'This table does not support check/repair/optimize'; unset($bgcolor); $nooptimize = 1; } else { $error = 1; $bgcolor = 'red'; unset($nooptimize); } } else { unset($bgcolor); unset($nooptimize); } if(!$nohtml) { echo "<tr><td>$r[0]</td><td>$r[1]</td><td bgcolor='$bgcolor'>$r[2]</td><td>$r[3]</td></tr>"; } else { echo "$r[0] | $r[1] | $r[2] | $r[3]<br>\n"; } } if($error) { if(!$nohtml) { echo "<tr><td colspan=4 align='center'>Repairing table $table</td></tr>"; } else { echo ">>>>>>>>>>>>>Repairing Table $table<br>\n"; } $result2=mysql_query("REPAIR TABLE $table"); if($result2[3]!='OK') $bgcolor='red'; else unset($bgcolor); if(!$nohtml) { echo "<tr><td>$result2[0]</td><td>$result2[1]</td><td>$result2[2]</td><td bgcolor='$bgcolor'>$result2[3]</td></tr>"; } else { echo "$result2[0] | $result[1] | $result2[2] | $result2[3]<br>\n"; } } if(($result2[3]=='OK'||!$error)&&!$nooptimize) { if(!$nohtml) { echo "<tr><td colspan=4 align='center'>Optimizing table $table</td></tr>"; } else { echo ">>>>>>>>>>>>>Optimizing Table $table<br>\n"; } $result3=mysql_query("OPTIMIZE TABLE $table"); $error=0; while($r3=mysql_fetch_row($result3)) { if($r3[2]=='error') { $error=1; $bgcolor='red'; } else { unset($bgcolor); } if(!$nohtml) { echo "<tr><td>$r3[0]</td><td>$r3[1]</td><td bgcolor='$bgcolor'>$r3[2]</td><td>$r3[3]</td></tr>"; } else { echo "$r3[0] | $r3[1] | $r3[2] | $r3[3]<br><br>\n"; } } } if($error&&$loops) { checktable($table,($loops-1)); }}if($check) { $tables=mysql_query("SHOW TABLES"); if(!$nohtml) { echo "<HTML><HEAD></HEAD><BODY><table border=1 cellspacing=0 cellpadding=4 STYLE=\"font-family: Tahoma, Verdana; font-size: 11px\">"; } if($iterations) { $iterations--; } while($table=mysql_fetch_row($tables)) { if(substr($table[0], -8) != 'sessions') { $answer=checktable($table[0],$iterations); if(!$nohtml) { echo "<tr><td colspan=4> </td></tr>"; } flush(); } } if(!$nohtml) { echo "</table></BODY></HTML>"; }} else { echo "<HTML><HEAD></HEAD><BODY STYLE=\"font-family: Tahoma, Verdana; font-size: 11px\"><b>Database Table Repair Utility for Discuz! (Require MySQL 3.23+)</b><br><br>". "This script will attempt to repair corrupted databases. While it can repair most common errors,<br>". "it can not repair everything. As a side benefit it will also optimize your tables.<br>". "This script was copyrighted by Jelsoft and modified by Crossday Studio to make it apply for Discuz!.<br><br>". "Usage:<br><br>". "<b>iterations=x</b> (x is the number of times you wish for the script to attempt to repair a broken table)<br>". "<b>nohtml=1</b> (Output text only no html. Useful for cronjobs and you wish to receive text only)<br>". "<b>check=1</b> (without this you will get this screen and no checking)<br><br>". "Example Usage:<br><br>". "<b><a href=\"repair.php?check=1&iterations=5\">repair.php?html=1&check=1</a></b> (most common usage, will check a forum and return html results)<br>". "<b><a href=\"repair.php?check=1&iterations=5\">repair.php?check=1&iterations=5</a></b> (try to repair damaged tables 5 times)". "</BODY></HTML>";}?> MySQL数据库有没有记日志?如果有的话可以通过日志来恢复 关于dede CMS 的问题! 学习ecshop源码的方法 SNS的新鲜事提示要如何设计数据库呢? 关于数据库的问题 新手提问,MYSQL写入的问题目11 在PHP中使用JS的COOKIES时 导致 PHP 的COOKIES 失效 新手求助,PHP是用什么编辑的??(象ASP是用Dreamweaver编辑)最好给个下载网址 谁有好用的关于Oracle数据库的类或者函数分享一下啊 为什么点"下一页",页面没有反应? wamp开发的项目跟阿里云iis有没有冲突 eclipse环境搭建(PHP单步跟踪) PHP页面间传递对象
到/mysql/var/ 或则是/mysql/date/ 里面把文件还原一下
不过那个软件一定要能把名称还原完整
要不然还原出来也不能用
就简单多了
用repair.php 修复一下就可以了
<?php
error_reporting(7);
#require './config.inc.php';#这里是数据库连接 我把它写在下面了$dbhost="localhost";
$dbuser="root";
$dbpw="";
$dbname="swapdata";
#$table="search_profile";mysql_connect($dbhost, $dbuser, $dbpw);
mysql_select_db($dbname);if(!get_cfg_var("register_globals")) {
foreach($HTTP_GET_VARS as $key => $val) {
$$key = $val;
}
}function checktable($table, $loops = 0) {
global $db, $nohtml; $result = mysql_query("CHECK TABLE $table");
if(!$nohtml) {
echo "<tr bgcolor='#CCCCCC'><td colspan=4 align='center'>Checking table $table</td></tr>";
echo "<tr><td>Table</td><td>Operation</td><td>Type</td><td>Text</td></tr>";
} else {
echo "\n>>>>>>>>>>>>>Checking Table $table\n";
echo "---------------------------------<br>\n";
}
$error = 0;
while($r = mysql_fetch_row($result)) {
if($r[2] == 'error') {
if($r[3] == "The handler for the table doesn't support check/repair") {
$r[2] = 'status';
$r[3] = 'This table does not support check/repair/optimize';
unset($bgcolor);
$nooptimize = 1;
} else {
$error = 1;
$bgcolor = 'red';
unset($nooptimize);
}
} else {
unset($bgcolor);
unset($nooptimize);
}
if(!$nohtml) {
echo "<tr><td>$r[0]</td><td>$r[1]</td><td bgcolor='$bgcolor'>$r[2]</td><td>$r[3]</td></tr>";
} else {
echo "$r[0] | $r[1] | $r[2] | $r[3]<br>\n";
}
}
if($error) {
if(!$nohtml) {
echo "<tr><td colspan=4 align='center'>Repairing table $table</td></tr>";
} else {
echo ">>>>>>>>>>>>>Repairing Table $table<br>\n";
}
$result2=mysql_query("REPAIR TABLE $table");
if($result2[3]!='OK')
$bgcolor='red';
else
unset($bgcolor);
if(!$nohtml) {
echo "<tr><td>$result2[0]</td><td>$result2[1]</td><td>$result2[2]</td><td bgcolor='$bgcolor'>$result2[3]</td></tr>";
} else {
echo "$result2[0] | $result[1] | $result2[2] | $result2[3]<br>\n";
}
}
if(($result2[3]=='OK'||!$error)&&!$nooptimize) {
if(!$nohtml) {
echo "<tr><td colspan=4 align='center'>Optimizing table $table</td></tr>";
} else {
echo ">>>>>>>>>>>>>Optimizing Table $table<br>\n";
}
$result3=mysql_query("OPTIMIZE TABLE $table");
$error=0;
while($r3=mysql_fetch_row($result3)) {
if($r3[2]=='error') {
$error=1;
$bgcolor='red';
} else {
unset($bgcolor);
}
if(!$nohtml) {
echo "<tr><td>$r3[0]</td><td>$r3[1]</td><td bgcolor='$bgcolor'>$r3[2]</td><td>$r3[3]</td></tr>";
} else {
echo "$r3[0] | $r3[1] | $r3[2] | $r3[3]<br><br>\n";
}
}
}
if($error&&$loops) {
checktable($table,($loops-1));
}
}if($check) { $tables=mysql_query("SHOW TABLES"); if(!$nohtml) {
echo "<HTML><HEAD></HEAD><BODY><table border=1 cellspacing=0 cellpadding=4 STYLE=\"font-family: Tahoma, Verdana; font-size: 11px\">";
} if($iterations) {
$iterations--;
}
while($table=mysql_fetch_row($tables)) { if(substr($table[0], -8) != 'sessions') {
$answer=checktable($table[0],$iterations);
if(!$nohtml) {
echo "<tr><td colspan=4> </td></tr>";
}
flush();
}
} if(!$nohtml) {
echo "</table></BODY></HTML>";
}
} else {
echo "<HTML><HEAD></HEAD><BODY STYLE=\"font-family: Tahoma, Verdana; font-size: 11px\"><b>Database Table Repair Utility for Discuz! (Require MySQL 3.23+)</b><br><br>".
"This script will attempt to repair corrupted databases. While it can repair most common errors,<br>".
"it can not repair everything. As a side benefit it will also optimize your tables.<br>".
"This script was copyrighted by Jelsoft and modified by Crossday Studio to make it apply for Discuz!.<br><br>".
"Usage:<br><br>".
"<b>iterations=x</b> (x is the number of times you wish for the script to attempt to repair a broken table)<br>".
"<b>nohtml=1</b> (Output text only no html. Useful for cronjobs and you wish to receive text only)<br>".
"<b>check=1</b> (without this you will get this screen and no checking)<br><br>".
"Example Usage:<br><br>".
"<b><a href=\"repair.php?check=1&iterations=5\">repair.php?html=1&check=1</a></b> (most common usage, will check a forum and return html results)<br>".
"<b><a href=\"repair.php?check=1&iterations=5\">repair.php?check=1&iterations=5</a></b> (try to repair damaged tables 5 times)".
"</BODY></HTML>";
}
?>