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

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

WBOY
WBOYOriginal
2016-06-01 13:56:00788browse

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

  /*/////////////////////////
#FileName: mysql_backup.php
#Author: faisun
#Website: http://www.softpure.com
////////////////////////*/  
//保存目录,路径要用反斜杠.您需要手动建立它.
$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.
");
@mkdir($nowdir);
mysql_connect("localhost","$db_username","$db_password");
$query=mysql_list_dbs();
while($result=mysql_fetch_array($query)){
system (dirname(__FILE__).'..mysqlinmysqldump --opt '."$result[Database] -u{$db_username} ".($db_password?"-p{$db_password}":"")." > $nowdir/$result[Database].sql");
echo "dumping database `$result[Database]`...
";
}
echo "
Winrar loading...
";
system( dirname(__FILE__)."/WinRAR/WinRAR.exe a -ep1 -r -o+ -m5 -df "$nowdir.rar" "$nowdir" " );
//删除 5 天前的文件
@unlink("$store_folder/".date("Ymd",$time-86400*5).".rar");
echo "
OK!
";
>
  5. D:/php 下建立文件 mysql_backup.bat,内容只有一句:

 php.exe mysql_backup.php

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

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

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