备份数据库的问题 如果服务器上的数据库支持远程连接,使用mysqldumpmysqldump database12 -h 211.21.30.23 -u root -p -r c:\database1.sql做成批处理文件就好了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是我以前写过的一个程序。你可以参考一下。代码如下:################################<?phpmysql_connect("localhost","root","root");mysql_select_db("test");@set_time_limit(600);$crlf="\n";if(empty($asfile)){ echo "<div align=left><pre>\n";} else { $CurD=date("Ymd"); $SaveFile=$db."_".$CurD; header("Content-disposition: filename=$SaveFile.sql"); header("Content-type: application/octetstream"); header("Pragma: no-cache"); header("Expires: 0"); $client = getenv("HTTP_USER_AGENT"); if(ereg('[^(]*\((.*)\)[^)]*',$client,$regs)) { $os = $regs[1]; if (eregi("Win",$os)) $crlf="\r\n"; }}function my_handler($sql_insert){ global $crlf, $asfile; if(empty($asfile)) { echo htmlspecialchars("$sql_insert;$crlf"); } else { echo "$sql_insert;$crlf"; }}$tables = mysql_list_tables($db);$num_tables = @mysql_numrows($tables);if($num_tables == 0){ echo $strNoTablesFound;}else{ $i = 0; print "# MySQL-Dump$crlf"; print "# http://3q.com/$crlf"; print "#$crlf"; print "# $strHost: " . $host; if(!empty($port)) { print ":" . $port; } print " $strDatabase: $db$crlf"; while($i < $num_tables) { $table = mysql_tablename($tables, $i); print $crlf; print "# --------------------------------------------------------$crlf"; print "#$crlf"; print "# $strTableStructure '$table'$crlf"; print "#$crlf"; print $crlf; echo get_table_def($db, $table, $crlf).";$crlf$crlf"; if($what == "data") { print "#$crlf"; print "# $strDumpingData '$table'$crlf"; print "#$crlf"; print $crlf; get_table_content($db, $table, "my_handler"); } $i++; } }function get_table_def($db, $table, $crlf){ global $drop; $schema_create = ""; if(!empty($drop)) $schema_create .= "DROP TABLE IF EXISTS $table;$crlf"; $schema_create .= "CREATE TABLE $table ($crlf"; $result = mysql_db_query($db, "SHOW FIELDS FROM $table") or mysql_die(); while($row = mysql_fetch_array($result)) { $schema_create .= " $row[Field] $row[Type]"; if(isset($row["Default"]) && (!empty($row["Default"]) || $row["Default"] == "0")) $schema_create .= " DEFAULT '$row[Default]'"; if($row["Null"] != "YES") $schema_create .= " NOT NULL"; if($row["Extra"] != "") $schema_create .= " $row[Extra]"; $schema_create .= ",$crlf"; } $schema_create = ereg_replace(",".$crlf."$", "", $schema_create); $result = mysql_db_query($db, "SHOW KEYS FROM $table") or mysql_die(); while($row = mysql_fetch_array($result)) { $kname=$row['Key_name']; if(($kname != "PRIMARY") && ($row['Non_unique'] == 0)) $kname="UNIQUE|$kname"; if(!isset($index[$kname])) $index[$kname] = array(); $index[$kname][] = $row['Column_name']; } while(list($x, $columns) = @each($index)) { $schema_create .= ",$crlf"; if($x == "PRIMARY") $schema_create .= " PRIMARY KEY (" . implode($columns, ", ") . ")"; elseif (substr($x,0,6) == "UNIQUE") $schema_create .= " UNIQUE ".substr($x,7)." (" . implode($columns, ", ") . ")"; else $schema_create .= " KEY $x (" . implode($columns, ", ") . ")"; } $schema_create .= "$crlf)"; return (stripslashes($schema_create));}// Get the content of $table as a series of INSERT statements.// After every row, a custom callback function $handler gets called.// $handler must accept one parameter ($sql_insert);function get_table_content($db, $table, $handler){ $result = mysql_db_query($db, "SELECT * FROM $table") or mysql_die(); $i = 0; while($row = mysql_fetch_row($result)) { set_time_limit(60); // HaRa $table_list = "("; for($j=0; $j<mysql_num_fields($result);$j++) $table_list .= mysql_field_name($result,$j).", "; $table_list = substr($table_list,0,-2); $table_list .= ")"; if(isset($GLOBALS["showcolumns"])) $schema_insert = "INSERT INTO $table $table_list VALUES ("; else $schema_insert = "INSERT INTO $table VALUES ("; for($j=0; $j<mysql_num_fields($result);$j++) { if(!isset($row[$j])) $schema_insert .= " NULL,"; elseif($row[$j] != "") $schema_insert .= " '".addslashes($row[$j])."',"; else $schema_insert .= " '',"; } $schema_insert = ereg_replace(",$", "", $schema_insert); $schema_insert .= ")"; $handler(trim($schema_insert)); $i++; } return (true);}function count_records ($db,$table){ $result = mysql_db_query($db, "select count(*) as num from $table"); $num = mysql_result($result,0,"num"); echo $num;}function get_table_csv($db, $table, $sep, $handler){ $result = mysql_db_query($db, "SELECT * FROM $table") or mysql_die(); $i = 0; while($row = mysql_fetch_row($result)) { set_time_limit(60); // HaRa $schema_insert = ""; for($j=0; $j<mysql_num_fields($result);$j++) { if(!isset($row[$j])) $schema_insert .= "NULL".$sep; elseif ($row[$j] != "") $schema_insert .= "$row[$j]".$sep; else $schema_insert .= "".$sep; } $schema_insert = str_replace($sep."$", "", $schema_insert); $handler(trim($schema_insert)); $i++; } return (true);}if(empty($asfile)){ print "</pre></div>\n";}?> 备份/mysql/data/database12/目录下3个数据文件就可以了 花瓣网(www.huaban.com)图片地址问题? Windows下浏览Linux服务器端的静态文字出现奇怪乱码 linux系统,Apach的WEB平台,PHPINFO显示空白,为什么? php解析xml 有and 有OR的根据几个字段生成SQL语句 递归数组的疑问 我一个span里面有文字,设定了宽度,假如我都文字太多就自动换行,怎么控制? 大家来看看这两个程序有什么不同吗? 用什么语句 只显示表的前几条 新闻标题?而不是全部的 在mysql数据库中插入二进制图片的宽高问题? 远程管理MySQL用什么工具好,大家给推荐几款 [求助]如何使用DOM函数?
################################
<?php
mysql_connect("localhost","root","root");
mysql_select_db("test");
@set_time_limit(600);
$crlf="\n";
if(empty($asfile))
{
echo "<div align=left><pre>\n";
}
else
{
$CurD=date("Ymd");
$SaveFile=$db."_".$CurD;
header("Content-disposition: filename=$SaveFile.sql");
header("Content-type: application/octetstream");
header("Pragma: no-cache");
header("Expires: 0");
$client = getenv("HTTP_USER_AGENT");
if(ereg('[^(]*\((.*)\)[^)]*',$client,$regs))
{
$os = $regs[1];
if (eregi("Win",$os))
$crlf="\r\n";
}
}function my_handler($sql_insert)
{
global $crlf, $asfile;
if(empty($asfile))
{
echo htmlspecialchars("$sql_insert;$crlf");
}
else
{
echo "$sql_insert;$crlf";
}
}$tables = mysql_list_tables($db);
$num_tables = @mysql_numrows($tables);
if($num_tables == 0)
{
echo $strNoTablesFound;
}
else
{
$i = 0;
print "# MySQL-Dump$crlf";
print "# http://3q.com/$crlf";
print "#$crlf";
print "# $strHost: " . $host;
if(!empty($port))
{
print ":" . $port;
}
print " $strDatabase: $db$crlf"; while($i < $num_tables)
{
$table = mysql_tablename($tables, $i); print $crlf;
print "# --------------------------------------------------------$crlf";
print "#$crlf";
print "# $strTableStructure '$table'$crlf";
print "#$crlf";
print $crlf; echo get_table_def($db, $table, $crlf).";$crlf$crlf";
if($what == "data")
{
print "#$crlf";
print "# $strDumpingData '$table'$crlf";
print "#$crlf";
print $crlf;
get_table_content($db, $table, "my_handler");
}
$i++;
}
}function get_table_def($db, $table, $crlf)
{
global $drop; $schema_create = "";
if(!empty($drop))
$schema_create .= "DROP TABLE IF EXISTS $table;$crlf"; $schema_create .= "CREATE TABLE $table ($crlf"; $result = mysql_db_query($db, "SHOW FIELDS FROM $table") or mysql_die();
while($row = mysql_fetch_array($result))
{
$schema_create .= " $row[Field] $row[Type]"; if(isset($row["Default"]) && (!empty($row["Default"]) || $row["Default"] == "0"))
$schema_create .= " DEFAULT '$row[Default]'";
if($row["Null"] != "YES")
$schema_create .= " NOT NULL";
if($row["Extra"] != "")
$schema_create .= " $row[Extra]";
$schema_create .= ",$crlf";
}
$schema_create = ereg_replace(",".$crlf."$", "", $schema_create);
$result = mysql_db_query($db, "SHOW KEYS FROM $table") or mysql_die();
while($row = mysql_fetch_array($result))
{
$kname=$row['Key_name'];
if(($kname != "PRIMARY") && ($row['Non_unique'] == 0))
$kname="UNIQUE|$kname";
if(!isset($index[$kname]))
$index[$kname] = array();
$index[$kname][] = $row['Column_name'];
} while(list($x, $columns) = @each($index))
{
$schema_create .= ",$crlf";
if($x == "PRIMARY")
$schema_create .= " PRIMARY KEY (" . implode($columns, ", ") . ")";
elseif (substr($x,0,6) == "UNIQUE")
$schema_create .= " UNIQUE ".substr($x,7)." (" . implode($columns, ", ") . ")";
else
$schema_create .= " KEY $x (" . implode($columns, ", ") . ")";
} $schema_create .= "$crlf)";
return (stripslashes($schema_create));
}// Get the content of $table as a series of INSERT statements.
// After every row, a custom callback function $handler gets called.
// $handler must accept one parameter ($sql_insert);
function get_table_content($db, $table, $handler)
{
$result = mysql_db_query($db, "SELECT * FROM $table") or mysql_die();
$i = 0;
while($row = mysql_fetch_row($result))
{
set_time_limit(60); // HaRa
$table_list = "("; for($j=0; $j<mysql_num_fields($result);$j++)
$table_list .= mysql_field_name($result,$j).", "; $table_list = substr($table_list,0,-2);
$table_list .= ")"; if(isset($GLOBALS["showcolumns"]))
$schema_insert = "INSERT INTO $table $table_list VALUES (";
else
$schema_insert = "INSERT INTO $table VALUES ("; for($j=0; $j<mysql_num_fields($result);$j++)
{
if(!isset($row[$j]))
$schema_insert .= " NULL,";
elseif($row[$j] != "")
$schema_insert .= " '".addslashes($row[$j])."',";
else
$schema_insert .= " '',";
}
$schema_insert = ereg_replace(",$", "", $schema_insert);
$schema_insert .= ")";
$handler(trim($schema_insert));
$i++;
}
return (true);
}function count_records ($db,$table)
{
$result = mysql_db_query($db, "select count(*) as num from $table");
$num = mysql_result($result,0,"num");
echo $num;
}function get_table_csv($db, $table, $sep, $handler)
{
$result = mysql_db_query($db, "SELECT * FROM $table") or mysql_die();
$i = 0;
while($row = mysql_fetch_row($result))
{
set_time_limit(60); // HaRa
$schema_insert = "";
for($j=0; $j<mysql_num_fields($result);$j++)
{
if(!isset($row[$j]))
$schema_insert .= "NULL".$sep;
elseif ($row[$j] != "")
$schema_insert .= "$row[$j]".$sep;
else
$schema_insert .= "".$sep;
}
$schema_insert = str_replace($sep."$", "", $schema_insert);
$handler(trim($schema_insert));
$i++;
}
return (true);
}if(empty($asfile))
{
print "</pre></div>\n";
}
?>
/mysql/data/database12/
目录下3个数据文件就可以了