//備份整個資料庫
mysqldump -uroot -hhost -ppassword dbname > backdb.sql
//備份資料庫中的某個表
mysqldump -uroot -hhost -ppassword dbname tbname1, tbname2 > backdb.sql
//備份多個資料庫
mysqldump -uroot -hhost -ppassword --databases dbname1, dbname2 > backdb.sql
//備份系統中所有資料庫
mysqldump -uroot -hhost -ppassword --all-databases > backdb.sql
//恢復
mysql -uroot -p'123456' dbname < backdb.sql
本庫目前只支援thinkphp5.0.* 版本,如果需要使用其他,請自行修改版本中的方法
composer require tp5er/tp5-databackup
//或composer require tp5er/tp5-databackup dev-master
"require": ,
//或"require": ,
use \tp5er\backup;
$start:無論是備份還是還原只要一張表備份完成$start就是返回的0
$file :sql檔案的名字,下面有名字命名規範,如果名字命令不規範,在展示列表中就會出現錯誤
$config=array(
'path' => './data/',//資料庫備份路徑
'part' => 20971520,//資料庫備份卷大小
'compress' => 0,//資料庫備份檔案是否啟用壓縮 0不壓縮 1 壓縮
'level' => 9 //資料庫備份檔案壓縮級別 1普通 4 一般 9最高
);
$db= new backup($config);
$file=['name'=>date('ymd-his'),'part'=>1]
return $this->fetch('index',['list'=>$db->datalist()]);
return $this->fetch('importlist',['list'=>$db->filelist()]);
$tables="資料庫表1";
$start= $db->setfile($file)->backup($tables[$id], 0);
$start=0;
$start= $db->setfile($file)->import($start);
$db->delfile($time);
$db->downloadfile($time);
$db->repair($tables)
$db->optimize($tables)
如果備份資料比較大的情況下,需要修改如下引數
//預設php**能夠申請到的最大記憶體位元組數就是134217728 bytes,如果**執行的時候再需要更多的記憶體,根據情況定義指定位元組數
memory_limit = 1024m
//預設php**申請到的超時時間是20s,如果**執行需要更長的時間,根據**執行的超時時間定義版本執行超時時間
max_execution_time =1000
自由設定超時時間。支援連貫操作,該方法主要使用在表備份和還原中,防止備份還原和備份不完整
//備份
$time=0//表示不限制超時時間,直到程式結束,(慎用)
$db->settimeout($time)->setfile($file)->backup($tables[$id], 0);
//還原
$db->settimeout($time)->setfile($file)->import($start);
由於本來採用的是thinkphp db鏈結方式,存在很多問題,並且只相容thinkphp5.0.*版本,因此本類將被不在進行維護,計畫在某個時間段進行重構。 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...
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...