数据库备份(支持分卷b/r)--- mysql back/restore, can split (php script)

共三个文件和一个文件夹
1. mydb.php //DB类
2. backup.php //备份脚本
3. restore.php //还原脚本
4.backup //临时文件目录

只要修改一下开头的数据库信息就可用

----------------------------------------------------mydb.php:--------------------------------------------------------

<?
class db{

var $linkid;
var $sqlid;
var $record;

function db($host="",$username="",$password="",$database="")
 {
 if(!$this->linkid)  @$this->linkid = mysql_connect($host, $username, $password) or die("连接服务器失败.");
 @mysql_select_db($database,$this->linkid) or die("无法打开数据库");
 return $this->linkid;}

function query($sql)
 {if($this->sqlid=mysql_query($sql,$this->linkid)) return $this->sqlid;
 else {
  $this->err_report($sql,mysql_error);
 return false;}
 }

function nr($sql_id="")
 {if(!$sql_id) $sql_id=$this->sqlid;
 return mysql_num_rows($sql_id);}

function nf($sql_id="")
 {if(!$sql_id) $sql_id=$this->sqlid;
 return mysql_num_fields($sql_id);}

function nextrecord($sql_id="")
 {if(!$sql_id) $sql_id=$this->sqlid;
 if($this->record=mysql_fetch_array($sql_id))  return $this->record;
 else return false;
 }

function f($name)
 {
 if($this->record[$name]) return $this->record[$name];
 else return false;
 }

function close() {mysql_close($this->linkid);}

function lock($tblname,$op="WRITE")
 {if(mysql_query("lock tables ".$tblname." ".$op)) return true; else return false;}

function unlock()
 {if(mysql_query("unlock tables")) return true; else return false;}

function ar() {
    return @mysql_affected_rows($this->linkid);
  }

function i_id() {
  return mysql_insert_id();
 }

function err_report($sql,$err)
 {
echo "Mysql查询错误<br>";
echo "查询语句:".$sql."<br>";
echo "错误信息:".$err;
 }
/****************************************类结束***************************/
}?>

--------------------------------------------------------------------------------------------------------------------------

 

----------------------------------------------------backup.php :--------------------------------------------------------

<?
global $mysqlhost, $mysqluser, $mysqlpwd, $mysqldb;
$mysqlhost="localhost"; //host name
$mysqluser="root";              //login name
$mysqlpwd="";              //password
$mysqldb="";        //name of database

include("mydb.php");
$d=new db($mysqlhost,$mysqluser,$mysqlpwd,$mysqldb);
/*--------------界面--------------*/if(!isset($_POST['act'])){/*----------------------*/
$msgs[]="服务器备份目录为backup";
$msgs[]="对于较大的数据表,强烈建议使用分卷备份";
$msgs[]="只有选择备份到服务器,才能使用分卷备份功能";
show_msg($msgs);
?>
<form name="form1" method="post" action="backup.php">
  <table width="99%" border="1" cellpadding='0' cellspacing='1'>
    <tr align="center" class='header'><td colspan="2">数据备份</td></tr>
    <tr><td colspan="2">备份方式</td></tr>
    <tr><td><input type="radio" name="bfzl" value="quanbubiao">        备份全部数据</td><td>备份全部数据表中的数据到一个备份文件</td></tr>
    <tr><td><input type="radio" name="bfzl" value="danbiao">备份单张表数据
        <select name="tablename"><option value="">请选择</option>
          <?
  $d->query("show table status from $mysqldb");
  while($d->nextrecord()){
  echo "<option value='".$d->f('Name')."'>".$d->f('Name')."</option>";}
  ?>
        </select></td><td>备份选中数据表中的数据到单独的备份文件</td></tr>
    <tr><td colspan="2">使用分卷备份</td></tr>
    <tr><td colspan="2"><input type="checkbo

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值