Heim  >  Artikel  >  Datenbank  >  实现win2003下mysql数据库每天自动备份

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

WBOY
WBOYOriginal
2016-06-07 16:05:46956Durchsuche

终于让服务器每天早上备份一次 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)


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn