PHP 备份还原 MySql 数据库
生活随笔
收集整理的這篇文章主要介紹了
PHP 备份还原 MySql 数据库
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原生 PHP 備份還原 MySql 數據庫
支持 MySql,PDO 兩種方式備份還原 php5.5 以上的版本建議開啟pdo擴展,使用 pdo 備份還原數據 備份文件夾 db_backup、import/log 文件要有讀寫權限環境版本
本人測試環境 php:5.5.38 /5.6.27-nts/7.0.12-nts; mysql: 5.5.53 ; apache: Apache/2.4.23 (Win32) 集成環境 phpStudy,其他環境未測試備份/還原文件目錄
備份、還原數據文件存放 db_backup 文件夾 備份文件夾可以通過 backup/Backup.php 屬性 $back_dir 修改 備份文件存放位置 還原導入數據文件夾可以通過 import/Import.php 屬性 $back_dir 修改還原文件存放位置示例 sql 文件:
標注表名、表與表直接的分割示例 db_backup/xxx.sql 文件備份還原數據文件說明
|---備份文件大小可以通過 Backup.php 中 $size 設置,默認2MB,其他設置也可在 Backup.php 的屬性中設置 |---備份數據如果是一卷命名為:文件名_自定義標識+0.sql,例如 cms_v0.sql |---如果是多卷命名為:文件名_自定義標識+數字第幾卷.sql,例如 cms_v1.sql,cms_v2.sql,依次類推 |---還原數據時如果檢測到有 cms_v0.sql 文件只會還原一卷 |---如果沒有檢測到cms_v0.sql就查找 cms_v1.sql,如果檢測到有cms_v1.sql文件,就會還原cms_v1.sql,cms_v2.sql…… 文件backup php 備份mysql 數據庫
|---當前操作用戶對備份目錄有創建刪除權限 數據表有創建刪除的權限 |---備份文件名默認 數據庫名為前綴,如果備份文件夾下存在相同文件名自動覆蓋,備份前請查看備份文件是否存在相同前綴文件名 |---如果想修改備份文件命名前綴 請在BackData.php // 備份文件名可以自定義 下2行處修改文件說明
backup/ |---backup.php 調用父類【基類】 |---PdoSql.php pdo類備份 |---MySql.php mysql類備份 |---BackData.php 備份數據實例化類 |---dome.php 調用測試文件import php 還原 mysql 數據庫
|---當前操作用戶對備份目錄、日志目錄有創建刪除權限 數據表有創建刪除的權限 |---還原數據庫文件需放在 import 同級目錄 db_backup/ 目錄下,還原文件名(按照備份文件名格式)文件名_自定義標識+數字第幾卷.sql,例如 cms_v0.sql |---如果數據還原失敗,數據回滾到沒有還原前,如果是sql語法致命錯誤,程序會直接停止運行,以上版本包括當前版本都無法回滾數據還原不是使用 備份類備份的 sql 數據需要注意幾點
1: 備份文件名前綴+ 標示名+數字.sql<數字>0代表只還原這一個,數字從1依次還原多個標示名可以自定義 默認 $back_file_fu="_v";2: 備份文件的第一卷需要在 sql 文件的開頭添加(標注)要還原的表名;如果sql文件開頭沒有要還原的表名,調用 ImportData->import_exec() 函數添加最后一個參數$table_name=false;如果想添加請在第一卷 注釋 sql 的開頭下面添加如下格式的表名:格式 -- ##* 表名|表名|表名 ##* --可以自定義格式 $import_table_fu=" ##* ";3:使用其他工具導出的 sql 文件需要查看表與表之間的分割符是否 Import.php 下的 table_fu() 函數定義的一致,如果不一致,需要修改為一致,也可修改 table_fu() 函數的格式< 防止sql 語句過大程序卡死 >table_fu() 格式:$create_table=PHP_EOL;$create_table.='-- '.str_repeat('--',30).PHP_EOL;$create_table.=PHP_EOL;文件說明
import/ |---Import.php 調用父類【基類】 |---PdoSql.php pdo類還原 |---MySql.php mysql類還原 |---ImportData.php 還原數據實例化類 |---dome.php 調用測試文件項目詳細介紹
轉載于:https://www.cnblogs.com/xuey/p/9804681.html
總結
以上是生活随笔為你收集整理的PHP 备份还原 MySql 数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我想问四川下省属事业单位报名人数在哪查询
- 下一篇: 英雄联盟用剑的英雄有哪些?