0 0

用PHP代码如何实现数据库定时备份和还原30

本人刚到公司不久    是个新人  好多知识不懂    新接的任务“实现数据库定时备份和还原” 需要用PHP去写  以前我是学Java的  对于PHP真的不太会  求求高手们给点建议或者给点相关材料我去学习也行
2012年11月07日 12:00

1个答案 按时间排序 按投票排序

0 0

采纳的答案

至于定时备份还原的代码
参见:
http://blog.163.com/zbstrive_work@126/blog/static/165378687201141143512114/
或者:
ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
$interval=60*30;// 每隔半小时运行
do{
//这里是你要执行的代码 添加备份php或者还原的php的脚本,
sleep($interval);// 等待5分钟
}while(true);


一、备份数据库并下载到本地【db_backup.php】

<?php 
// 设置SQL文件保存文件名 
$filename=date("Y-m-d_H-i-s")."-".$cfg_dbname.".sql"; 
// 所保存的文件名 
header("Content-disposition:filename=".$filename); 
header("Content-type:application/octetstream"); 
header("Pragma:no-cache"); 
header("Expires:0"); 
// 获取当前页面文件路径,SQL文件就导出到此文件夹内 
$tmpFile = (dirname(__FILE__))."\\".$filename; 
// 用MySQLDump命令导出数据库 
exec("mysqldump -u$cfg_dbuser -p$cfg_dbpwd --default-character-set=utf8 $cfg_dbname > ".$tmpFile); 
$file = fopen($tmpFile, "r"); // 打开文件 
echo fread($file,filesize($tmpFile)); 
fclose($file); 
exit; 
?> 


二、还原数据库【db_restore.php】
<form id="form1" name="form1" method="post" action=""> 
【数据库SQL文件】:<input id="sqlFile" name="sqlFile" type="file" /> 
<input id="submit" name="submit" type="submit" value="还原" /> 
</form> 
<?php 
// 我的数据库信息都存放到config.php文件中,所以加载此文件,如果你的不是存放到该文件中,注释此行即可; 
require_once((dirname(__FILE__).'/../../include/config.php')); 
if ( isset ( $_POST['sqlFile'] ) ) 
{ 
$file_name = $_POST['sqlFile']; //要导入的SQL文件名 
$dbhost = $cfg_dbhost; //数据库主机名 
$dbuser = $cfg_dbuser; //数据库用户名 
$dbpass = $cfg_dbpwd; //数据库密码 
$dbname = $cfg_dbname; //数据库名 

set_time_limit(0); //设置超时时间为0,表示一直执行。当php在safe mode模式下无效,此时可能会导致导入超时,此时需要分段导入 
$fp = @fopen($file_name, "r") or die("不能打开SQL文件 $file_name");//打开文件 
mysql_connect($dbhost, $dbuser, $dbpass) or die("不能连接数据库 $dbhost");//连接数据库 
mysql_select_db($dbname) or die ("不能打开数据库 $dbname");//打开数据库 

echo "<p>正在清空数据库,请稍等....<br>"; 
$result = mysql_query("SHOW tables"); 
while ($currow=mysql_fetch_array($result)) 
{ 
mysql_query("drop TABLE IF EXISTS $currow[0]"); 
echo "清空数据表【".$currow[0]."】成功!<br>"; 
} 
echo "<br>恭喜你清理MYSQL成功<br>"; 

echo "正在执行导入数据库操作<br>"; 
// 导入数据库的MySQL命令 
exec("mysql -u$cfg_dbuser -p$cfg_dbpwd $cfg_dbname < ".$file_name); 
echo "<br>导入完成!"; 
mysql_close(); 
} 
?> 

2012年11月07日 12:30

相关推荐

    php对mysql数据库的备份及还原

    在PHP中,对MySQL数据库进行备份和还原是常见的任务,特别是在网站维护和更新过程中,确保数据的安全至关重要。本文将详细讲解如何使用PHP实现这一功能。 首先,我们来看备份过程: 备份数据库通常涉及到以下步骤...

    用PHP实现对MySQL数据库的备份与还原.pdf

    - 参考文献中提到的《软件导刊》2013年第8期的文章,详细介绍了PHP环境下实现MySQL数据库备份与还原的具体方法和技术。 - 其他相关研究,如地理信息系统、环境信息集成技术规范等,虽然不是直接相关的,但它们都...

    基于thinkphp的mysql数据库的备份与还原类(好用)

    在开发基于ThinkPHP框架的Web应用时,数据库的管理是至关重要的...同时,通过阅读提供的"基于thinkphp的mysql数据库的备份与还原类(好用).txt"文件,我们可以深入理解其具体实现细节和使用方法,进一步提升开发效率。

    php数据库备份还原模块

    总的来说,PHPWind的数据库备份还原模块是一个实用的功能,它可以帮助网站管理员轻松地管理和保护他们的数据,确保在各种情况下的数据安全。理解和掌握这样的模块的实现原理和使用方法,对于PHP开发者来说是非常有...

    thinkphp5.1 系统数据备份、还原

    总结来说,ThinkPHP5.1提供了强大的数据库管理工具,支持多数据库链接,使数据备份和还原变得更加方便。通过合理利用框架提供的API和工具,开发者可以构建高效、安全的数据库备份与恢复方案,为企业的数据安全提供...

    Think PHP 数据备份 恢复

    例如,高可用性环境可能需要实时或定时备份,并具备快速恢复能力。 6. **安全性与性能**:在执行备份和恢复时,要注意保护敏感数据,如使用加密存储备份文件,限制对备份目录的访问权限。同时,为了不影响在线服务...

    php分卷备份还原mysql数据库.pdf

    本文将深入探讨如何使用PHP实现MySQL数据库的分卷备份和还原。 首先,让我们了解MySQL数据库备份的基本原理。备份通常涉及到创建数据库或表的结构以及其包含的数据的副本。在PHP中,我们可以利用MySQL提供的API(如...

    ThinkPHP-数据库备份

    4. 定时备份:可以设置定时任务,定期自动执行备份,确保数据的实时性。 5. 存储策略:根据业务需求,制定合理的存储策略,如保留一定数量的历史备份,便于版本回溯。 总结,ThinkPHP框架提供了数据库备份的基本...

    Mysql数据库备份程序PHP版

    用PHP编写MySQL数据库备份程序可以方便地集成到网站或服务器自动化流程中,实现定时备份、在线备份等功能。这个"Mysqlbak"文件可能是该PHP程序的源代码,用于执行MySQL数据库的备份操作。 在使用这个PHP备份程序时...

    thinkphp3.2.2备份数据库插件

    5. 还原操作:当需要恢复数据库时,插件会读取备份文件,解析SQL语句,并逐条执行这些语句以重建数据库的结构和数据。 6. 定时任务:通过集成CRON调度器,开发者可以设置定期自动备份,确保数据库始终处于安全状态...

    一个自动备份mysql数据库的脚本

    MySQL数据库的自动备份是系统...总之,`backup.php`是一个实现自动MySQL数据库备份和清理的PHP脚本,它简化了数据库维护工作,提高了数据安全性。正确理解和运用此类脚本对于任何依赖MySQL数据库的业务来说都至关重要。

    PHP后台备份MySQL数据库的源码实例

    标签关键词包括“php实现mysql数据库备份”、“php备份mysql数据库”、“mysql数据库的备份和还原”以及“php后台备份mysql数据库的源码实例”,这些关键词强调了使用PHP语言在后台实现MySQL数据库的备份和恢复过程...

    基于PHP的MyBackupPro v2.3 多功能数据库备份工具 国外开源.zip

    MyBackupPro v2.3 是一个国外开源的数据库备份工具,专为PHP环境设计,它提供了全面且高效的方式来管理和备份数据库。在当前的信息化时代,数据安全至关重要,尤其是在使用动态网站时,数据库中的信息通常是网站运行...

    PHP实例开发源码-faisunSQL自导入数据库备份程序(UTF-8版).zip

    该压缩包文件“PHP实例开发源码-faisunSQL自导入数据库备份程序(UTF-8版).zip”是一个包含PHP源代码的项目,主要用于实现自动导入和备份数据库的功能。这个程序可能对那些需要管理和保护其数据库数据的Web开发者非常...

    使用ZRM备份Mysql数据库

    ### 使用ZRM备份MySQL数据库详解 #### 一、ZRM简介 ZRM是Zmanda公司推出的一款用于MySQL数据库备份和恢复的专业工具。该工具由Perl编写而成,具有易用性和高度灵活性的特点。它不仅考虑到了备份与恢复过程中的各种...

    PHP实例开发源码—最好用的mysql在线备份工具 帝国备份王正式版.zip

    这个压缩包包含了一个PHP编写的MySQL在线备份工具"帝国备份王"的源代码,使用者可以通过研究源代码学习如何在PHP环境中实现高效、安全的数据库备份。"使用须知.txt"可能是关于如何安装、配置和使用该工具的说明文档...

    MYSQL备份系统(PHP)

    总之,MySQL备份系统是利用PHP实现的一种实用工具,它简化了数据库备份的过程,提高了数据安全性,并且具备良好的版本兼容性和可扩展性。对于依赖MySQL数据库的企业和个人来说,这是一个值得考虑的解决方案。

    PHP定时备份MySQL与mysqldump语法参数详解

    在IT行业中,数据库的...通过以上方法,你可以构建一个可靠且灵活的MySQL数据库定时备份系统,保护你的数据安全。在实践中,还可以进一步优化脚本,例如添加错误处理、日志记录等功能,以提高系统的稳定性和可维护性。

    详解MYSQL的备份还原(PHP实现)

    MySQL的备份与还原是数据库管理中的重要环节,用于保护数据安全和进行灾难恢复。本文将通过PHP实现这一过程,提供一个简单的示例代码,帮助读者理解如何操作。 首先,我们创建一个名为`dbBackup`的类,这个类包含了...

    PHP实例开发源码—MySQL数据管理MySQLDumper php版.zip

    - **恢复**:当需要还原到之前的备份状态时,MySQLDumper可以方便地导入备份文件,快速恢复数据库。 - **管理**:它还提供了管理功能,如压缩备份、分割大文件、定时任务等,使得数据库维护更加轻松。 2. **PHP与...

Global site tag (gtag.js) - Google Analytics