php备份数据库类分享
php备份数据库类分享
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
<?php /** * * @name php备份数据库 * @param string $DbHost 连接主机 * @param string $DbUser 用户名 * @param string $DbPwd 连接密码 * @param string $DbName 要备份的数据库 * @param string $saveFileName 要保存的文件名, 默认文件保存在当前文件夹中,以日期作区分 * @return Null * @example backupMySqlData('localhost', 'root', '123456', 'YourDbName'); * */ function backupMySqlData( $DbHost , $DbUser , $DbPwd , $DbName , $saveFileName = '' ) { header( "Content-type:text/html;charset=utf-8" ); error_reporting (0); set_time_limit(0); echo '数据备份中,请稍候......<br />' ; $link = mysql_connect( $DbHost , $DbUser , $DbPwd ) or die ( '数据库连接失败: ' . mysql_error()); mysql_select_db( $DbName ) or die ( '数据库连接失败: ' . mysql_error()); mysql_query( 'set names utf8' ); // 声明变量 $isDropInfo = '' ; $insertSQL = '' ; $row = array (); $tables = array (); $tableStructure = array (); $fileName = ( $saveFileName ? $saveFileName : 'MySQL_data_bakeup_' ) . date ( 'YmdHis' ) . '.sql' ; // 枚举该数据库所有的表 $res = mysql_query( "SHOW TABLES FROM $DbName" ); while ( $row = mysql_fetch_row( $res )) { $tables [] = $row [0]; } mysql_free_result( $res ); // 枚举所有表的创建语句 foreach ( $tables as $val ) { $res = mysql_query( "show create table $val" , $link ); $row = mysql_fetch_row( $res ); $isDropInfo = "DROP TABLE IF EXISTS `" . $val . "`;\r\n" ; $tableStructure = $isDropInfo . $row [1] . ";\r\n" ; file_put_contents ( $fileName , $tableStructure , FILE_APPEND); mysql_free_result( $res ); } // 枚举所有表的INSERT语句 foreach ( $tables as $val ) { $res = mysql_query( "select * from $val" ); // 没有数据的表不执行insert while ( $row = mysql_fetch_row( $res )) { $sqlStr = "INSERT INTO `" . $val . "` VALUES (" ; foreach ( $row as $v ){ $sqlStr .= "'$v'," ; } //去掉最后一个逗号 $sqlStr = substr ( $sqlStr , 0, strlen ( $sqlStr ) - 1); $sqlStr .= ");\r\n" ; file_put_contents ( $fileName , $sqlStr , FILE_APPEND); } mysql_free_result( $res ); } echo '数据备份成功!' ; } // 调用此方法 backupMySqlData( 'localhost' , 'root' , '123456' , 'YouDbName' ); ?> |
以上所述就是本文的全部内容了,希望大家能够喜欢。
php备份数据库类分享的更多相关文章
- mysql load data infile的使用 和 SELECT into outfile备份数据库数据
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE t ...
- MSSQL自动备份数据库
最近项目中,需要用到MSSQL自动定时备份功能,本来想利用C#自己写一个的,但是听说在MSSQL2008中已经集成了功能强大的自动备份功能,于是便提刀上阵,狠狠地琢磨了一番: 首先,打开MSSQL20 ...
- SQL Server 远程备份数据库
在一些涉及到数据库的项目中,经常会有定时备份数据库的需要.定时备份到本机的话,还是挺容易的,计划任务就可以完成,但如果是整机挂了,那备份到本机是没意义的,那么就需要来考虑备份到局域网中,其它电脑里. ...
- mvc项目中实现备份数据库(sqlserver2005)
功能要求:mvc项目,实现数据库备份(bak文件) 实现步骤:<a id="backupDB" href="javascript:" >数据库备份& ...
- CodeIgniter框架——数据库类(配置+快速入门)
CodeIgniter用户指南——数据库类 数据库配置 入门:用法举例 连接数据库 查询 生成查询结果 查询辅助函数 Active Record 类 事务 表格元数据 字段元数据 自定义函数调用 查询 ...
- Thinkphp3.2 备份数据库和还原数据的方法
其实Thinkphp框架并没有自带备份数据库的功能,但是细心的朋友可能会发现Thinkphp的一套内容管理系统oneThink是有备份数据库和还原数据的功能的. 所以今天我就来聊一聊,oneThink ...
- 在ASP.NET中备份数据库以及还原(不成熟)
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- MySQL数据库入门备份数据库
MySQL数据库入门——备份数据库 一提到数据,大家神经都会很紧张,数据的类型有很多种,但是总归一点,数据很重要,非常重要,因此,日常的数据备份工作就成了运维工作的重点中的重点的重点....... ...
- SQL SERVER备份数据库文件(使用SSMS)
微软的SQL SERVER是市面占有率比较大的数据库,在平时的使用与维护中,备份数据是一件十分重要的! 备份操作,用微软自带的ssms(SQL Server Management Studio)工具即 ...
随机推荐
- 基于POI和DOM4将Excel(2007)文档写进Xml文件
刚进公司的training, 下面是要求: Requirements Write a java program to read system.xlsx Use POI API to parse all ...
- Java自己动手写连接池四
Java自己动手写连接池四 测试: package com.kama.cn; import java.sql.Connection; public class Test { public static ...
- Android与javascript中事件分发机制的简单比较
在前面两篇博客中,我们讨论了Android中的事件分发的相关内容,那么在本篇博客当中,我们就简单探讨一下html或javascript中的事件分发机制,并进行简单的对比. 在前端中,对事件进行绑定有三 ...
- vue:简单方法替代vuex或者bus
兄弟组件,隔代组件传值很麻烦,方法虽然多,但都各有缺点. vuex: 适合数据量大,并且函数集中处理. bus:适合数据虽少,却不得不用的时候,维护困难. root:这儿指将值挂在root组件上,需要 ...
- vue2.0 微信oauth认证的正确调用位置
运行在微信端的项目,很重要的环节是oauth认证:那在vue项目中,在何时何地调用oauth认证最合适呢? 经过观察,在项目启动过程中,会执行main.js文件:所以我将认证放在main.js中操作: ...
- Windows资源
Windows资源是一种二进制数据,由链接器链接进程序成为程序的一部分,通过资源的方式可以很方便的对应用程序进行扩展.在Windows中资源可以是系统自定义的,也可以是用户自定义的.在VC++中资源是 ...
- iOS中 学会如何对sqlite3 进行封装 (纯手工)
#waring ---(看官注意) ---使用说明: ①在创建自定义model类之前让该类继承自文件中的Model类, ②为model类选一个NSString属性作为主键:(既,在初始化方法里面将从父 ...
- RichErp - export import 用法
// --file.js-- function getJSON(url, callback) { let xhr = new XMLHttpRequest(); xhr.onload = functi ...
- ajax 处理请求回来的数据
比如接口 /test, 请求方式get, 请求过来的数据要处理在container 里,如下代码 $.get("/test", {}, function(result){ $(&q ...
- 【Core2.0帮助类】
缓存帮助类(CacheHelper) /// <summary> /// 缓存帮助类 /// </summary> public class CacheHelper {//下载 ...