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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/388209.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java™ 教程(Queue接口)

Queue接口 Queue是在处理之前保存元素的集合&#xff0c;除了基本的Collection操作外&#xff0c;队列还提供额外的插入、删除和检查操作&#xff0c;Queue接口如下。 public interface Queue<E> extends Collection<E> {E element();boolean offer(E e);E peek();…

字符串操作截取后面的字符串_对字符串的5个必知的熊猫操作

字符串操作截取后面的字符串We have to represent every bit of data in numerical values to be processed and analyzed by machine learning and deep learning models. However, strings do not usually come in a nice and clean format and require preprocessing to con…

最新 Unity3D鼠标滑轮控制物体放大缩小 [

var s 1.0;function Update () {var cube GameObject.Find("Cube");if(Input.GetAxis("Mouse ScrollWheel")){s Input.GetAxis("Mouse ScrollWheel");cube.transform.localScaleVector3(1*s,1*s,1*s);}}

sublime-text3 安装 emmet 插件

下载sublime&#xff0c;http://www.sublimetext.com/ 安装package control &#xff1a;https://packagecontrol.io/ins... 这个地址需要翻墙&#xff0c;访问不了的可以看下图 import urllib.request,os,hashlib; h 6f4c264a24d933ce70df5dedcf1dcaee ebe013ee18cced0ef93d…

数据科学家访谈录 百度网盘_您应该在数据科学访谈中向THEM提问。

数据科学家访谈录 百度网盘A quick search on Medium with the keywords “Data Science Interview” resulted in hundreds of Medium articles to help guide the reader from what concepts are covered to even specific company interviews ranging from Tesla, Walmart, …

unity3d]鼠标点击地面人物自动走动(也包含按键wasdspace控制)

目录(?)[-] 一效果图二大概步骤 创建一个plane设置层为Terrain因为后面要判断是否点击的是这个层准备好人物模型并且将三个脚本拖放到人物上并且将动画文件也拖放好记得看前面提醒哦 ThirdPersonCamera相当于smoothflowThirdPersonController修改版mouseMoveContr鼠标点击人物…

uva 524(Prime Ring Problem UVA - 524 )

dfs练习题,我素数打表的时候ji了&#xff0c;一直没发现实际上是ji*i&#xff0c;以后可记住了。还有最后一行不能有空格。。。昏迷了半天 我的代码(紫书上的算法) #include <bits/stdc.h> using namespace std; int bk[110]; int num[110]; int vis[110]; int n; void d…

Web 开发基础

一、 Web 开发简介 最早的软件都是运行在大型机上的&#xff0c;软件使用者登陆到大型机上去运行软件。后来随着 PC 机的兴起&#xff0c;软件开始主要运行在桌面上&#xff0c;而数据库这样的软件运行在服务器端&#xff0c;这种 Client/Server 模式简称 CS 架构。随着互联网的…

power bi函数_在Power BI中的行上使用聚合函数

power bi函数Aggregate functions are one of the main building blocks in Power BI. Being used explicitly in measures, or implicitly defined by Power BI, there is no single Power BI report which doesn’t use some sort of aggregate functions.聚合功能是Power BI…

关于如何在Python中使用静态、类或抽象方法的权威指南

Python中方法的工作方式 方法是存储在类属性中的函数&#xff0c;你可以用下面这种方式声明和访问一个函数 >>> class Pizza(object):... def __init__(self, size):... self.size size... def get_size(self):... return self.size...>&…

广义估计方程估计方法_广义估计方程简介

广义估计方程估计方法A key assumption underpinning generalized linear models (which linear regression is a type of) is the independence of observations. In longitudinal data this will simply not hold. Observations within an individual (between time points) …

css二

结构性伪类:nth-child(index)系列1.:first-child2.:last-child3.nth-last-child(index)4.only-child :nth-of-type(index)系列1.first-of-type2.last-of-type3.nth-last-type(index)4.only-of-type :not伪类处理导航栏最后一个竖划线a:not(:last-of-type) :empty伪类 选中所有内…

Unity3d鼠标点击屏幕来控制人物的走动

今天呢&#xff0c;我们来一起实现一个在RPG中游戏中十分常见的功能&#xff0c;通过鼠标点击屏幕来控制人物的走动。首先来说一下原理&#xff0c;当我们点击屏幕时&#xff0c;我们按照一定的方法&#xff0c;将屏幕上的二维坐标转化为三维坐标&#xff0c;然后我们从摄像机位…

Java中的ReentrantLock和synchronized两种锁定机制的对比

2019独角兽企业重金招聘Python工程师标准>>> 多线程和并发性并不是什么新内容&#xff0c;但是 Java 语言设计中的创新之一就是&#xff0c;它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类&#xff0c;可以用它…

10.15 lzxkj

几天前写的&#xff0c;忘了放了&#xff0c;在此填坑 10月16的题我出的不写题解了 lzxkj 题目背景 众所不周知的是&#xff0c; 酒店之王 xkj 一个经常迷失自我的人 有一天&#xff0c; 当起床铃再一次打响的时候&#xff0c; TA 用 O(1)的时间在 TA 那早就已经生锈的大脑中自…

大数定理 中心极限定理_中心极限定理:直观的遍历

大数定理 中心极限定理One of the most beautiful concepts in statistics and probability is Central Limit Theorem,people often face difficulties in getting a clear understanding of this and the related concepts, I myself struggled understanding this during my…

万恶之源 - Python数据类型二

列表 列表的介绍 列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型. 比如JS中的数 组, java中的数组等等. 它是以[ ]括起来, 每个元素用 , 隔开而且可以存放各种数据类型: lst [1,a,True,[2,3,4]]列表相比于字符串,不仅可以存放不同的数据类型.而且可…

230. Kth Smallest Element in a BST

Given a binary search tree, write a function kthSmallest to find the kth smallest element in it.Note: You may assume k is always valid, 1 ≤ k ≤ BSTs total elements.Example 1: Input: root [3,1,4,null,2], k 13/ \1 4\2 Output: 1 Example 2: Input: root …

探索性数据分析(EDA)-不要问如何,不要问什么

数据科学 &#xff0c; 机器学习 (Data Science, Machine Learning) This is part 1 in a series of articles guiding the reader through an entire data science project.这是一系列文章的第1部分 &#xff0c;指导读者完成整个数据科学项目。 I am a new writer on Medium…

unity3d 摄像机跟随鼠标和键盘的控制

鼠标控制&#xff1a; using UnityEngine; using System.Collections; public class shubiao : MonoBehaviour { //public Transform firepos; public int Ball30; public int CurBall1; public Rigidbody projectile; public Vector3 point; public float time100f; public…