php實現mysql資料庫備份類

2022-09-29 04:57:08 字數 3766 閱讀 6427

1、例項化dbbak需要告訴它兩件事:資料伺服器在**($connectid)、備份到哪個目錄($backupdir): 

require_once('dbbak.php');    

require_once('tablebak.php');    

$connectid = mysql_connect('localhost','root','123456');    

$backupdir = 'data';    

$dbbak = new dbbak($connectid,$backupdir);    

2、然後就可以開始備份資料庫了,你不僅能夠指定備份那個資料庫,而且能詳細設定只備份那幾個表:

2.1如果你想備份mybbs庫中的所有表,只要這樣: 

$dbbak->backupdb('mybbs');    

2.2如果你只想備份mybbs庫中的board、face、friendlist表,可以用乙個一維陣列指定:

$dbbak->backupdb('mybbs',array('board','face','friendsite'));    

2.3如果只想備份乙個表,比如board表:

$dbbak->backupdb('mybbs','board');    

3,資料恢復:

對於2.1、2.1、2.3三種情況,只要相應的修改下語句,把backupdb換成restoredb就能實現資料恢復了:

$dbbak->restoredb('mybbs');   

sql**

$dbbak->restoredb('mybbs',array('board','face','friendsite'));   

php**

$dbbak->restoredb('mybbs','board');   

php**

require_once('tablebak.php');    

class dbbak     

function backupdb($dbname,$tablename=null)    

if(is_string($tablename))    

if (is_array($tablename))    

$this->_backupsometalbe($dbname,$tablename);    

return;    

}    

}    

function restoredb($dbname,$tablename=null)    

if(is_string($tablename))    

if (is_array($tablename))    

$this->_restoresometalbe($dbname,$tablename);    

return;    

}    

}    

function _gettablelist($dbname)    

mysql_free_result($result);    

return $tablelist;    

}    

function _backupalltable($dbname)    

}    

function _backuponetable($dbname,$tablename)    

function _backupsometalbe($dbname,$tablenamelist)    

foreach ($tablenamelist as $tablename)    

}    

function _restorealltable($dbname)    

//step2:start restore    

foreach ($this->_gettablelist($dbname) as $tablename)    

}    

function _restoreonetable($dbname,$tablename)    

function _restoresometalbe($dbname,$tablenamelist)    

//step2:檢查是否存在資料表備份檔案 以及是否可寫:    

foreach ($tablenamelist as $tablename)    

//step3:start restore:    

foreach ($tablenamelist as $tablename)    

}    

}    

?>     

複製** **如下:

<?php      

//只有dbbak才能呼叫這個類     

class tablebak     

function backuptable($tablename)     

function restoretable($tablename,$tablebakfile)     

return true;     

}     

function _getfieldinfo($tablename)     

mysql_free_result($result);     

return $fieldinfo;     

}     

function _quoterow($fieldinfo,$row)     

}     

return $row;     

}     

function _backuptable($tablename,$tabledir)     

mysql_free_result($result);     

//關閉檔案:     

fclose($handle);     

return true;     

}     

}     

?>   

備份mybbs資料庫:

sql**

//example 1 backup:    

require_once('dbbak.php');    

require_once('tablebak.php');    

$connectid = mysql_connect('localhost','root','123456');    

$backupdir = 'data';    

$dbbak = new dbbak($connectid,$backupdir);    

$dbbak->backupdb('mybbs');    

恢復mybbs資料庫: 

複製** **如下:

require_once('dbbak.php');     

require_once('tablebak.php');     

$connectid = mysql_connect('loafshhcalhost','root','123456');     

$backupdir = 'data';     

$dbbak = new dbbak($connectid,$backupdir);     

$dbbak->restoredb('mybbs'); 

本文標題: php實現mysql資料庫備份類

本文位址:

PHP備份MYSQL資料庫

require dirname file config.php 備份 if post get act 1 bak msg table.表資料備份完畢 file content iconv gbk utf 8 file content fp fopen path w or die 檔案不可寫,或不存在...

php備份mysql 資料庫

1 新建php檔案 header content type text html charset utf8 ini set max execution time 0 執行時間不限制 防止備份失敗 ini set memory limit 128m 設定記憶體 根據需求可以修改 date default...

用PHP實現XML備份Mysql資料庫

以下是在linux下通過apache php對mysql資料庫的備份的檔案 檔案一 listtable.php 檔案列出資料庫中的所有 供選擇備份 請選擇要備份的 con mysql connect localhost root xswlily lists mysql list tables emb...