用php程序快速备份mysql数据库

 更新时间:2019年3月21日 13:10  点击:468

PHP 备份 mysql 数据库的源代码,在完善的 PHP+Mysql 项目中,在后台都会有备份 Mysql 数据库的功能,有了这个功能,对于一些不便自己写shell脚本备份的VPS来说,就不用使用 FTP 或者使用 mysql 的管理工具进行 mysql 数据库备份下载,非常方便。


下面是一个php数据库备份的源代码,大家也可以根据自己的需求进行修改。

<?php 
// 备份数据库
$host = "localhost";
$user = "root"; //数据库账号
$password = ""; //数据库密码
$dbname = "mysql"; //数据库名称
// 这里的账号、密码、名称都是从页面传过来的
if (!mysql_connect($host, $user, $password)) // 连接mysql数据库
{
 echo '数据库连接失败,请核对后再试';
  exit;
} 
if (!mysql_select_db($dbname)) // 是否存在该数据库
{
 echo '不存在数据库:' . $dbname . ',请核对后再试';
  exit;
} 
mysql_query("set names 'utf8'");
$mysql = "set charset utf8;\r\n";
$q1 = mysql_query("show tables");
while ($t = mysql_fetch_array($q1))
{
  $table = $t[0];
  $q2 = mysql_query("show create table `$table`");
  $sql = mysql_fetch_array($q2);
  $mysql .= $sql['Create Table'] . ";\r\n";
  $q3 = mysql_query("select * from `$table`");
  while ($data = mysql_fetch_assoc($q3))
  {
    $keys = array_keys($data);
    $keys = array_map('addslashes', $keys);
    $keys = join('`,`', $keys);
    $keys = "`" . $keys . "`";
    $vals = array_values($data);
    $vals = array_map('addslashes', $vals);
    $vals = join("','", $vals);
    $vals = "'" . $vals . "'";
    $mysql .= "insert into `$table`($keys) values($vals);\r\n";
  } 
} 
$filename = $dbname . date('Ymjgi') . ".sql"; //存放路径,默认存放到项目最外层
$fp = fopen($filename, 'w');
fputs($fp, $mysql);
fclose($fp);
echo "数据备份成功";
?>

PHP执行Mysql数据库的备份和还原

使用mysqldump命令备份

mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。

mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。然后通过这些语句,就能够创建表并插入数据。

mysqldump基本语法:


备份导出

#/usr/local/mysql/bin/   mysqldump -uroot -p -d abc > abc.sql  只导出结构
#/usr/local/mysql/bin/   mysqldump -uroot -p  abc > abc.sql


windows下找到mysqldump.exe 一样执行



导入恢复数据(注意sql文件的路径)

use zhuxianfei
mysql>source /home/zhuxianfei/zhuxianfei.sql;


也可以在php代码中执行mysqldump

$exec="E:/phpstudy/mysql/bin/mysqldump -u".$db_user." -p".$db_pwd." ".$db_name." > ".$name;
exec($exec);

注意:这里的-p后面的password不要有空格,否则可能只会生成空的sql文件,后面$name是生成文件路径及名称。

简单的备份数据库就完成了。


[!--infotagslink--]

相关文章

  • MySQL使用xtrabackup进行备份还原操作

    这篇文章主要为大家详细介绍了MySQL如何使用xtrabackup进行备份还原操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-12-02
  • pyinstaller还原python代码过程图解

    这篇文章主要介绍了pyinstaller还原python代码过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-04-27
  • photoshop教你分析还原别人作品制作教程

    今天小编在这里要教photoshop的这一款软件的使用者们的是分析还原别人作品的制作教程,各位想知道到底该怎么分析的,那么下面就快来跟着小编一起看一看教程吧。 给...2016-09-14
  • 如何备份恢复IIS?详细备份恢复IIS的步骤

    如果用户重装Windows的话,即使备份了IIS的相关文件,还原的时候还是提示“无效签名”,导致这个IIS无法恢复,如果你要重装系统,那么详细备份恢复IIS的步骤如下...2016-01-27
  • Springboot 实现数据库备份还原的方法

    这篇文章主要介绍了Springboot 实现数据库备份还原的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-21
  • 通过先序遍历和中序遍历后的序列还原二叉树(实现方法)

    下面小编就为大家带来一篇通过先序遍历和中序遍历后的序列还原二叉树(实现方法)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-04-25
  • php数据库备份还原函数

    文章提供一款备份还原函数这是利用php写的可以备份也可以还原的函数,同时也支持备份后保存到本地的代码哦,好了下面看源码。 //备份还原函数 代码如下 复...2016-11-25
  • windows服务器通过appcmd实现IIS备份、还原、查看的命令(适用IIS8之前版本)

    IIS 7 提供了一个新的命令行工具 Appcmd.exe这里介绍下通过appcmd.exe实现windows server IIS备份、还原、查看的命令...2016-01-27
  • MongoDB整库备份与还原以及单个collection备份、恢复方法

    mongodb数据库维护离不开必要的备份、恢复操作,而且一般不会出错,所以我们在使用的时候大部分时候使用备份和恢复操作就可以了...2020-07-11
  • sqlserver备份还原数据库功能封装分享

    这篇文章主要介绍了sqlserver备份还原数据库功能封装示例,需要的朋友可以参考下...2020-06-25
  • windows服务器 的DNS服务器备份与还原步骤小结

    对于dns的备份与还原确实是不错的方法。...2016-01-27
  • C#实现的SQL备份与还原功能示例

    这篇文章主要介绍了C#实现的SQL备份与还原功能,结合具体实例形式分析了C#操作数据库实现SQL备份与还原相关的控件、SQL连接、文件等操作技巧,需要的朋友可以参考下...2020-06-25
  • Sql server数据库备份还原另一方法

    直接拷贝数据文件把数据库的数据文件(*.mdf)和日志文件(*.ldf)都拷贝到目的服务器,在SQL Server Query Analyzer中用语句进行恢复: EXEC sp_attach_db @dbname = 'test', @...2016-11-25
  • redis中使用redis-dump导出、导入、还原数据实例

    这篇文章主要介绍了redis中使用redis-dump导出、导入、还原数据实例,本文直接给出操作命令,并给出注释加以说明,需要的朋友可以参考下...2021-01-15
  • MySQL数据库如何导入导出(备份还原)

    本文适用范围:全面阐述MySQL数据库的各种操作,分虚拟主机和服务器两种情况。虚拟主机1、通过PHPMyAdmin的导入导出功能,这个软件一般只支持几兆数据的导出,太大的数据可能会超时。2、通过程序自带的数据库备份还原功能来...2015-10-21
  • mongodb 数据库操作--备份 还原 导出 导入

    mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoimport。...2020-07-11
  • 备份、还原IIS网站配置信息

    最简单的方法是平时注意备份IIS站点配置参数,一旦出现问题,再进行还原或移植。下面笔者介绍几种常用的备份、还原IIS网站配置信息方法。...2016-01-27
  • MySQL数据备份、还原、数据库迁移以及表的导出和导入

    作为流行的开源数据库管理系统,MySQL的使用者众多,为了维护数据安全性,数据备份是必不可少的,下面这篇文章主要给大家介绍了关于MySQL数据备份、还原、数据库迁移以及表的导出和导入的相关资料,需要的朋友可以参考下...2022-11-09
  • 用php程序快速备份mysql数据库

    PHP 备份 mysql 数据库的源代码,在完善的 PHP+Mysql 项目中,在后台都会有备份 Mysql 数据库的功能,有了这个功能,对于一些不便自己写shell脚本备份的VPS来说,就不用使用 FTP 或者使用 mysql 的管理工具进行 mysql 数据库备份下载,非常方便。...2019-03-21