http://www.phome.net/empire/EmpireNews/n/2004/11-01/21335.html这个软件你看看。还行。

解决方案 »

  1.   

    mysql_front 比较好 不会超时,也不会文件大小限制,还有一种就是直接copy目录
      

  2.   

    可以啊,页面程序调用mysqldump导成tar.gz的然后下载。
      

  3.   

    谢谢jxflll(峰):
    1.1版已发布.下载地址:http://www.phome.net/empire/EmpireNews/n/2004/12-31/21343.html
    to ziyou_jo(子游) :
    点击"直接备份到本地(备份到服务器还行.不然您可以当超级黑客了)"
      

  4.   

    或者你把导出的数据生成EXCEL文件,然后下载到本地了
      

  5.   

    自己整理一下,每个人用的方法也不同.
    function sqldumptable($table, $startfrom = 0, $currsize = 0) {
    global $db, $multivol, $sizelimit, $startrow; $offset = 64;
    if(!$startfrom) {
    $tabledump = "DROP TABLE IF EXISTS $table;\n"; $createtable = $db->query("SHOW CREATE TABLE $table");
    $create = $db->fetch_row($createtable); $tabledump .= $create[1].";\n\n"; $tabledump .= "CREATE TABLE $table (\n"; $firstfield = 1; $fields = $db->query("SHOW FIELDS FROM $table");
    while ($field = $db->fetch_array($fields)) {
    if (!$firstfield) {
    $tabledump .= ",\n";
    } else {
    $firstfield = 0;
    }
    $tabledump .= "\t$field[Field] $field[Type]"; if ($field[Null] != "YES") {
    $tabledump .= " NOT NULL";
    } if (!empty($field["Default"])) {
    $tabledump .= " default '$field[Default]'";
    }
    if ($field[Extra] != "") {
    $tabledump .= " $field[Extra]";
    }
    } $db->free_result($fields); $keys = $db->query("SHOW KEYS FROM $table");
    while ($key = $db->fetch_array($keys)) {
    $kname = $key['Key_name'];
    if ($kname != "PRIMARY" and $key['Non_unique'] == 0) {
    $kname="UNIQUE|$kname";
    }
    if(!is_array($index[$kname])) {
    $index[$kname] = array();
    }
    $index[$kname][] = $key['Column_name'];
    } $db->free_result($keys); while(list($kname, $columns) = @each($index)){
    $tabledump .= ",\n";
    $colnames = implode($columns, ","); if($kname == "PRIMARY"){
    $tabledump .= "\tPRIMARY KEY ($colnames)";
    } else {
    if (substr($kname,0,6) == "UNIQUE") {
    $kname = substr($kname,7);
    } $tabledump .= "\tKEY $kname ($colnames)"; }
    } $tabledump .= "\n);\n\n"; } $tabledumped = 0;
    $numrows = $offset;
    while(($multivol && $currsize + strlen($tabledump) < $sizelimit * 1000 && $numrows == $offset) || (!$multivol && !$tabledumped)) {
    $tabledumped = 1;
    if($multivol) {
    $limitadd = "LIMIT $startfrom, $offset";
    $startfrom += $offset;
    } $rows = $db->query("SELECT * FROM $table $limitadd");
    $numfields = $db->num_fields($rows);
    $numrows = $db->num_rows($rows);
    while ($row = $db->fetch_row($rows)) {
    $comma = "";
    $tabledump .= "INSERT INTO $table VALUES(";
    for($i = 0; $i < $numfields; $i++) {
    $tabledump .= $comma."'".mysql_escape_string($row[$i])."'";
    $comma = ",";
    }
    $tabledump .= ");\n";
    }
    } $startrow = $startfrom;
    $tabledump .= "\n";
    return $tabledump;
    }
      

  6.   

    注意:别忘记了结贴!
    <HTML>
    <HEAD>
    <TITLE>数据库操作</TITLE>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </HEAD><BODY>
    <form method="post" name=myform>
    <%if action="restore" then%><INPUT TYPE="hidden" name="action" value="restore">准备恢复数据库
    <%elseif action="backup" then%><INPUT TYPE="hidden" name="action" value="backup">准备备份数据库<%else%>
    选择操作:
    <INPUT TYPE="radio" name="action" id="act_backup"  value="backup"><label for=act_backup>备份</label> 
    <INPUT TYPE="radio" name="action" id="act_restore" value="restore"><label for=act_restore>恢复</label><%end if%>
    <br/>数据库名:<INPUT TYPE="text" name="databasename" value="oa119db">
    请选择要备份的数据库名称<br/>文件路径:<INPUT TYPE="text" name="bak_file" value="oa119db<%=date()%>.dat">(备份或恢复的文件路径)<br/>
    <input type="submit" value="确定">
    </form>
    <%dim sqlserver,sqlname,sqlpassword,sqlLoginTimeout,databasename,bak_file,act
    sqlserver = "localhost"'sql服务器
    sqlname = "sa"'用户名
    sqlpassword = ""'密码
    sqlLoginTimeout = 30'登陆超时
    databasename = trim(request("databasename"))
    bak_file = trim(request("bak_file"))
    bak_file = Server.MapPath("BackupDataBase/"&bak_file)
    act = lcase(request("action"))if databasename = "" then
    response.write "请输入要备份的数据库名称"
    else
    if act = "backup" then
    Set srv = Server.CreateObject("SQLDMO.SQLServer")
    srv.LoginTimeout= sqlLoginTimeout
    srv.Connect sqlserver,sqlname, sqlpassword
    Set bak= Server.CreateObject("SQLDMO.Backup")
    bak.Database= databasename
    bak.Devices= Files
    bak.Files= bak_file
    bak.Action= 0
    bak.Initialize= 1
    'bak.ReplaceDatabase= True
    bak.SQLBackup srv
    if err.number>0 then
    response.write err.number&"<font color=red><br/>"
    response.write err.description&"</font>"
    end if
    Response.write "<font color=green>备份成功!</font>"
    srv.disconnect
    Set srv = nothing 
    Set bak = nothing 
    elseif act = "restore" then
    '恢复时要在没有使用数据库时进行!
    Set srv=Server.CreateObject("SQLDMO.SQLServer")
    srv.LoginTimeout= sqlLoginTimeout
    srv.Connect sqlserver,sqlname, sqlpassword
    Set rest= Server.CreateObject("SQLDMO.Restore")
    rest.Action= 0 ' full db restore
    rest.Database= databasename
    rest.Devices= Files
    rest.Files= bak_file
    rest.ReplaceDatabase= True 'Force restore over existing database
    if err.number>0 then
    response.write err.number&"<font color=red><br/>"
    response.write err.description&"</font>"
    end if
    rest.SQLRestore srvResponse.write "<font color=green>恢复成功!</font>"
    srv.disconnect
    Set srv = nothing
    Set rest = nothing
    else
    Response.write "<font color=red>没有选择操作</font>"
    end if
    end if
    %>
    </BODY>
    </HTML>