PHP執行Mysql數據庫的備份和還原(利用mysqldump)

                PHP執行Mysql數據庫的備份和還原(利用mysqldump)

       我在項目中隨着數據庫數據變多,以前的MySQL數據庫備份方法不行了,就寫了簡單的PHP執行MySQL數據庫備份和還原,利用mysqldump,mysqldump.exe和mysql.exe文件,PHP包的mysql文件夾中自帶有,直接調用就好。但是mysqldump適合100G以下的數據庫備份。

        mysqldump命令將數據庫中的數據備份成一個文本文件。表的結構和表中的數據將存儲在生成的文本文件中。mysqldump命令的工作原理很簡單。它先查出需要備份的表的結構,再在文本文件中生成一個CREATE語句。然後,將表中的所有記錄轉換成一條INSERT語句。然後通過這些語句,就能夠創建表並插入數據。

  PHP代碼:

//設置時區
date_default_timezone_set("Asia/Shanghai");
/*********************************備份數據庫start*********數據庫大小100G以下*******************/
$db_user="***";//數據庫賬號
$db_pwd="****";//數據庫密碼
$db_name="second";//數據庫名
$filename=date("Y-m-d")."-".time();
$name="E:/dataBackup/second_bear".$filename.".sql";//數據庫文件存儲路徑
$exec="E:/MySQL/bin/mysqldump -u".$db_user." -p".$db_pwd." ".$db_name." > ".$name;
$result=exec($exec);
//前面要設置mysql執行文件的路徑。
/*********************************備份數據庫end****************************/

/*********************************還原數據庫start******數據庫大小100G以下**********************/
$db_user="***";//數據庫賬號
$db_pwd="****";//數據庫密碼
$db_name="second";//數據庫名
$filename=data("Y-m-d")."-".time();
$name="E:/dataBackup/second_bear".$filename.".sql";//數據庫文件存儲路徑
$exec="E:/MySQL/bin/mysql -u".$db_user." -p".$db_pwd." ".$db_name." < ".$name;
$result=exec($exec);
//print_r($result);
/*********************************還原數據庫end****************************/

    代碼已測試。可以運行;有疑問或建議可以交流

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章