<?php
class backup
public function backuptables($dbname,$datadir,$tablenames)
//************************以下是形成sql的前半部分**************
//如果存在表,就先刪除
$sqls .= "\ndrop table if exists $tablename;\n\n";
//讀取表結構
trycatch(pdoexception $e)
$row=$rs->fetch();
//獲得表結構組成sql
$sqls.=$row['create table'].";\n\n";
unset($rs);
unset($row);
//************************以下是形成sql的後半部分**************
//查尋出表中的所有資料
$rs=$pdo->query("select * from ".$tablename);
$result=$rs->setfetchmode (pdo::fetch_assoc);
$rows=$rs->fetchall();
$count = $rs->rowcount();
echo '
'.$count.'
';$i = 0;
//$sqls.="insert into $tablename values ";
foreach ($rows as $row)
$sqls.=");\n";
}//$sqls.=";\n";
}$backfilepath=$this->datadir.$database.date("y-m-d",time()).'.sql';
//寫入檔案
$filehandle = fopen($backfilepath, "w");
fwrite($filehandle, $sqls);
fclose($filehandle);
return true;
}public function delarray($array)else
}return $tablelist;
}//end
}global $pdo ;
global $database;
$database = 'test';
$dir='./';
$pdo = new pdo('mysql:host=localhost;dbname='.$database,'root','',
array(pdo::attr_persistent => true,pdo::attr_errmode => pdo::errmode_exception));
if (!$pdo)
$data = new backup($pdo);
$success = $data->backuptables($database,$dir,'*');
if ($success)
rsync sersync進行資料同步備份
sersync功能多 支援配置檔案管理 真正的守護程序 可以對失敗檔案定時重傳 第三方的http介面 預設多執行緒 cdn更新 sercver 192.168.138.131 配置與之前的一樣 client 192.168.138.132 網查參考了很多人家的部落格,然後總結寫出來的 客戶端的配置 ...
mysqldump進行資料庫備份
最近,遇到乙個場景需要對mysql資料庫進行備份,本文記錄一下。1.對整個資料庫備份,包括表結構和資料 格式 mysqldump h資料庫ip u使用者名稱 p 資料庫名 d xx.sql 檔案存放路徑 示例 mysqldump h132.72.192.432 uroot p test home c...
xtrabackup進行資料庫備份
最近需要將線上資料庫的資料同步到線下測試環境,所以在找資料庫同步的方法,發現了xtrabackup這個工具,便想試下是否可行。開源,免費,備份速度快,感覺挺強大有木有,廢話不多說,開始安裝。wget rpm ivh percona release 0.1 4.noarch.rpm yum y nog...