Home  >  Article  >  Database  >  实现win2003下mysql数据库每天自动备份

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

WBOY
WBOYOriginal
2016-06-07 16:05:46957browse

终于让服务器每天早上备份一次 MySQL 数据库并自动打包,同时删除 5 天前的备份文件. 分享如下. 1. 环境: windows server 2003 + Apache 2.0 + PHP5 + MySQL 4.0.26 . 2. 假设 PHP 安装目录为 D:/php ,MySQL 安装目录为 D:/mysql. 3. 在 D:/php 下建立目录 Wi

终于让服务器每天早上备份一次 MySQL 数据库并自动打包,同时删除 5 天前的备份文件. 分享如下.

1. 环境: windows server 2003 + Apache 2.0 + PHP5 + MySQL 4.0.26 .

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:

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

5. D:/php 下建立文件 mysql_backup.bat,内容只有一句:

  php.exe mysql_backup.php 

6. 双击该 bat 文件运行,如果能备份了,OK,下一步添加任务计划.

7. 把 D:/php/mysql_backup 添加到任务计划,时间选每天. 根据服务器的监测结果,每天早上 5-8 时为流量低峰期. 由于 5-7 时有些数据库的清理工作,我把时间定在了早上 8 点整.

(责任编辑:海纳百川  qlmzl11268@hotmail.com   TEL:(010)68476606-8007)


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn