日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

PHP 备份还原 MySql 数据库

發(fā)布時(shí)間:2023/11/30 php 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP 备份还原 MySql 数据库 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原生 PHP 備份還原 MySql 數(shù)據(jù)庫(kù)

支持 MySql,PDO 兩種方式備份還原 php5.5 以上的版本建議開(kāi)啟pdo擴(kuò)展,使用 pdo 備份還原數(shù)據(jù) 備份文件夾 db_backup、import/log 文件要有讀寫權(quán)限

環(huán)境版本

本人測(cè)試環(huán)境 php:5.5.38 /5.6.27-nts/7.0.12-nts; mysql: 5.5.53 ; apache: Apache/2.4.23 (Win32) 集成環(huán)境 phpStudy,其他環(huán)境未測(cè)試

備份/還原文件目錄

備份、還原數(shù)據(jù)文件存放 db_backup 文件夾 備份文件夾可以通過(guò) backup/Backup.php 屬性 $back_dir 修改 備份文件存放位置 還原導(dǎo)入數(shù)據(jù)文件夾可以通過(guò) import/Import.php 屬性 $back_dir 修改還原文件存放位置

示例 sql 文件:

標(biāo)注表名、表與表直接的分割示例 db_backup/xxx.sql 文件

備份還原數(shù)據(jù)文件說(shuō)明

|---備份文件大小可以通過(guò) Backup.php 中 $size 設(shè)置,默認(rèn)2MB,其他設(shè)置也可在 Backup.php 的屬性中設(shè)置 |---備份數(shù)據(jù)如果是一卷命名為:文件名_自定義標(biāo)識(shí)+0.sql,例如 cms_v0.sql |---如果是多卷命名為:文件名_自定義標(biāo)識(shí)+數(shù)字第幾卷.sql,例如 cms_v1.sql,cms_v2.sql,依次類推 |---還原數(shù)據(jù)時(shí)如果檢測(cè)到有 cms_v0.sql 文件只會(huì)還原一卷 |---如果沒(méi)有檢測(cè)到cms_v0.sql就查找 cms_v1.sql,如果檢測(cè)到有cms_v1.sql文件,就會(huì)還原cms_v1.sql,cms_v2.sql…… 文件

backup php 備份mysql 數(shù)據(jù)庫(kù)

|---當(dāng)前操作用戶對(duì)備份目錄有創(chuàng)建刪除權(quán)限 數(shù)據(jù)表有創(chuàng)建刪除的權(quán)限 |---備份文件名默認(rèn) 數(shù)據(jù)庫(kù)名為前綴,如果備份文件夾下存在相同文件名自動(dòng)覆蓋,備份前請(qǐng)查看備份文件是否存在相同前綴文件名 |---如果想修改備份文件命名前綴 請(qǐng)?jiān)贐ackData.php // 備份文件名可以自定義 下2行處修改

文件說(shuō)明

backup/ |---backup.php 調(diào)用父類【基類】 |---PdoSql.php pdo類備份 |---MySql.php mysql類備份 |---BackData.php 備份數(shù)據(jù)實(shí)例化類 |---dome.php 調(diào)用測(cè)試文件

import php 還原 mysql 數(shù)據(jù)庫(kù)

|---當(dāng)前操作用戶對(duì)備份目錄、日志目錄有創(chuàng)建刪除權(quán)限 數(shù)據(jù)表有創(chuàng)建刪除的權(quán)限 |---還原數(shù)據(jù)庫(kù)文件需放在 import 同級(jí)目錄 db_backup/ 目錄下,還原文件名(按照備份文件名格式)文件名_自定義標(biāo)識(shí)+數(shù)字第幾卷.sql,例如 cms_v0.sql |---如果數(shù)據(jù)還原失敗,數(shù)據(jù)回滾到?jīng)]有還原前,如果是sql語(yǔ)法致命錯(cuò)誤,程序會(huì)直接停止運(yùn)行,以上版本包括當(dāng)前版本都無(wú)法回滾數(shù)據(jù)

還原不是使用 備份類備份的 sql 數(shù)據(jù)需要注意幾點(diǎn)

1: 備份文件名前綴+ 標(biāo)示名+數(shù)字.sql<數(shù)字>0代表只還原這一個(gè),數(shù)字從1依次還原多個(gè)標(biāo)示名可以自定義 默認(rèn) $back_file_fu="_v";2: 備份文件的第一卷需要在 sql 文件的開(kāi)頭添加(標(biāo)注)要還原的表名;如果sql文件開(kāi)頭沒(méi)有要還原的表名,調(diào)用 ImportData->import_exec() 函數(shù)添加最后一個(gè)參數(shù)$table_name=false;如果想添加請(qǐng)?jiān)诘谝痪?注釋 sql 的開(kāi)頭下面添加如下格式的表名:格式 -- ##* 表名|表名|表名 ##* --可以自定義格式 $import_table_fu=" ##* ";3:使用其他工具導(dǎo)出的 sql 文件需要查看表與表之間的分割符是否 Import.php 下的 table_fu() 函數(shù)定義的一致,如果不一致,需要修改為一致,也可修改 table_fu() 函數(shù)的格式< 防止sql 語(yǔ)句過(guò)大程序卡死 >table_fu() 格式:$create_table=PHP_EOL;$create_table.='-- '.str_repeat('--',30).PHP_EOL;$create_table.=PHP_EOL;

文件說(shuō)明

import/ |---Import.php 調(diào)用父類【基類】 |---PdoSql.php pdo類還原 |---MySql.php mysql類還原 |---ImportData.php 還原數(shù)據(jù)實(shí)例化類 |---dome.php 調(diào)用測(cè)試文件

項(xiàng)目詳細(xì)介紹

轉(zhuǎn)載于:https://www.cnblogs.com/xuey/p/9804681.html

總結(jié)

以上是生活随笔為你收集整理的PHP 备份还原 MySql 数据库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。