如何使用PHP自動備份資料庫

2021-08-06 03:44:48 字數 1552 閱讀 2223

1、前言

mysql資料庫的備份方式有很多;

例如:1、使用mysqldump函式

mysqldump -u username -p dbname table1 table2 ...  > backupname.sql

dbname引數表示資料庫的名稱

table1和table2引數表示需要備份的表的名稱,為空則整個資料庫備份;

backupname.sql參數列設計備份檔案的名稱,檔名前面可以加上乙個絕對路徑。通常將資料庫被分成乙個字尾名為sql的檔案;

基本使用:

2、管理工具

備份資料庫的方法很多,上面兩種比較常見

而本次主要講解如何通過php函式來自動備份資料庫

2、相關函式介紹

2.1 、fopen

詳情參考:

2.2、array_keys

詳情參考:

2.3、array_values

2.4、implode

詳情參考:

2.5、substr

詳情參考:

2.6、fwrite

詳情參考:

3、實現思路

4、**構成

/**

* [copydb description] 備份資料庫

* @param [type] $dbname [description] 資料庫名

* @param [type] $filename [description] 儲存的檔名

* @return [type] [description]

*/publicfunctioncopydb($dbname,$filename)");//切換資料庫$this->changedb($dbname);$tables =$this->link->query('show tables');//獲取當期資料庫所有表名稱while($re =$tables->fetch(pdo::fetch_assoc));";$tablesql =$this->link->query($sql);fwrite($myfile,"drop table if exists ``;\r\n");//加入預設刪除表的遇見//下面備份表結構,這個迴圈之執行一次while($re =$tablesql->fetch(pdo::fetch_assoc))結構

";fwrite($myfile,$re['create table'].";\r\n\r\n");echo "正在備份表結構完成

";}//下面備份表資料echo "正在備份表資料

";$sql ="select * from ;";$valuesql =$this->link->query($sql);while($re =$valuesql->fetch(pdo::fetch_assoc))$keystr =substr($keystr,0,strlen($keystr)-1);//取出最後乙個逗號$valuestr ='';// var_dump($valuearr);foreach ($valuearr as $key =>$value){$valuestr .="'".$value.

php備份資料庫

link mysql connect localhost root dbname test tables mysql list tables dbname while table mysql fetch row tables table cachetables path date y m d tim...

linux自動備份資料庫

bin bash 設定mysql備份目錄 folder data databaseback cd folder day date y m d mkdir day cd day nowday date y m d h m s mkdir nowday cd nowday 資料庫伺服器,一般為local...

oracle如何備份資料庫

1.建立表空間 sql命令 create tablespace jeefh2 gblz17 logging datafile u02 oradata orcl jeefh2 gblz17.dbf 表空間檔案儲存位置 size 1024m 表空間檔案初始大小 autoextend on 表空間自動增長...