加入收藏 | 设为首页 | 会员中心 | 我要投稿 焦作站长网 (https://www.0391zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

实现 win2003 下 mysql 数据库每天自动备份

发布时间:2020-03-19 22:31:12 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要为大家介绍下,如果用批处理实现mysql的自动备份,需要的朋友可以参考下

1. 环境: windows server 2003 +  PHP5 + MySQL 5.1.6. 
2. 假设 PHP 安装目录为 D:/php ,MySQL 安装目录为 D:/mysql. 
3. 在 D:/php 下建立目录 WinRAR, 把你 winrar 安装目录下的 WinRAR.exe 和 RARReg.KEY 复制到 D:/php/WinRAR . 
4. D:/php 下建立文件 mysql_backup.php: 

代码如下: 

<? //保存目录,路径要用反斜杠.您需要手动建立它. $store_folder = 'D:databse_backup'; //用户名和密码 //该帐号须有操作[所有]的数据库及FILE的权限 //否则有些数据库不能备份. $db_username = "root"; $db_password = ""; $time=time(); $nowdir = "$store_folder".date("Ymd",$time).""; if(file_exists("$nowdir.rar")) die("File exists.rn"); @mkdir($nowdir); mysql_connect("localhost","$db_username","$db_password"); $query=mysql_list_dbs(); $command = ''; while($result=mysql_fetch_array($query)){ $command .= dirname(__FILE__).'..mysqlbinmysqldump --opt '."$result[Database] -u{$db_username} ".($db_password?"-p{$db_password}":"")." > $nowdir$result[Database].sql rn"; $command .= "echo dumping database `$result[Database]`... rn"; } $command .= "echo Winrar loading...rn"; $command .= dirname(__FILE__)."WinRARWinRAR.exe a -ep1 -r -o+ -m5 -df "$nowdir.rar" "$nowdir" rn"; $command .= "echo OK!rn"; $command .= "del mysqldumping_temp.batrn"; $fp = fopen('mysqldumping_temp.bat','w'); fwrite($fp,$command); fclose($fp); //删除 5 天前的文件 @unlink("$store_folder".date("Ymd",$time-86400*5).".rar"); ?>

或者用下面的代码:

<? //保存目录,路径要用反斜杠.您需要手动建立它. $store_folder = ‘D:database_backup'; //用户名和密码 //该帐号须有操作[所有]的数据库及FILE的权限 //否则有些数据库不能备份. $db_username = “root”; $db_password = “”; $time=time(); $nowdir = “$store_folder”.date(“Ymd”,$time).””; if(file_exists(“$nowdir.rar”)) die(“File exists.n”); @mkdir($nowdir); mysql_connect(“localhost”,”$db_username”,”$db_password”); $query=mysql_list_dbs(); while($result=mysql_fetch_array($query)){ system (dirname(__FILE__).'..mysqlbinmysqldump –opt ‘.”$result[Database] -u{$db_username} “.($db_password?”-p{$db_password}”:””).” > $nowdir$result[Database].sql”); echo “dumping database `$result[Database]`…n”; } echo “nWinrar loading…n”; system( dirname(__FILE__).”WinRARWinRAR.exe a -ep1 -r -o+ -m5 -df ”$nowdir.rar” ”$nowdir” ” ); //删除 5 天前的文件 @unlink(“$store_folder”.date(“Ymd”,$time-86400*5).”.rar”); echo “nOK!n”; ?>


5. D:/php 下建立文件 mysql_backup.bat,内容为: 

echo off php.exe mysql_backup.php if exist mysqldumping_temp.bat call mysqldumping_temp.bat


6. 双击该 bat 文件运行,如果能备份了,OK,下一步添加任务计划. 
7. 把 D:/php/mysql_backup 添加到任务计划,时间选每天. 根据服务器的监测结果,每天早上 5-8 时为流量低峰期. 由于 5-7 时有些数据库的清理工作,我把时间定在了早上 8 点整. 

原作者:faisun 
Website: 

(编辑:焦作站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读