推薦沒有虛擬主機(jī)的小巧的Mysql數(shù)據(jù)庫備份腳本(PHP)

推薦沒有虛擬主機(jī)的小巧的Mysql數(shù)據(jù)庫備份腳本(PHP)

最近工作中常常需要備份遠(yuǎn)程服務(wù)器上的Mysql數(shù)據(jù)庫到本機(jī),一開始采用直接備份Mysql的data目錄的辦法,但由于編碼不同的原因經(jīng)常產(chǎn)生問題。后來朋友推薦我使用一個(gè)非常方便小巧的PHP程序——MyDB。一共包含三個(gè)文件:

1. mydb.php //DB類
代碼如下:

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(“連接服務(wù)器失敗.”);
@mysql_select_db($database,$this->linkid) or die(“無法打開數(shù)據(jù)庫”);
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查詢錯(cuò)誤
“;
echo “查詢語句:”.$sql.”
“;
echo “錯(cuò)誤信息:”.$err;
}
/****************************************類結(jié)束***************************/
}?>

2. 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(!$_POST[‘act’]){/*———————-*/
$msgs[]=”服務(wù)器備份目錄為backup”;
$msgs[]=”對于較大的數(shù)據(jù)表,強(qiáng)烈建議使用分卷備份”;
$msgs[]=”只有選擇備份到服務(wù)器,才能使用分卷備份功能”;
show_msg($msgs);
?>

數(shù)據(jù)備份
備份方式
備份全部數(shù)據(jù) 備份全部數(shù)據(jù)表中的數(shù)據(jù)到一個(gè)備份文件
備份單張表數(shù)據(jù)
備份選中數(shù)據(jù)表中的數(shù)據(jù)到單獨(dú)的備份文件
使用分卷備份

分卷備份 K
選擇目標(biāo)位置
備份到服務(wù)器

備份到本地

/*————-界面結(jié)束————-*

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊6 分享