php 資料庫備份

2021-10-08 15:42:36 字數 2346 閱讀 7826

//備份整個資料庫

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...