日期:2014-05-16  浏览次数:20531 次

windows下的MySQL数据库自动备份方法
============================
假想环境:
MySQL   安装位置:C:\MySQL
论坛数据库名称为:bbs
数据库备份目的地:C:\db_bak\
============================
新建db_bak.bat,写入以下代码

[Copy to clipboard]CODE:
Java代码
net stop mysql  
xcopy c:\mysql\data\bbs\*.* c:\db_bak\bbs\%date:~0,3%\ /y  
net start mysql 

net stop mysql
xcopy c:\mysql\data\bbs\*.* c:\db_bak\bbs\%date:~0,3%\ /y
net start mysql

然后使用Windows的“计划任务”定时执行该批处理脚本即可。(例如:每天凌晨3点执行back_db.bat)
解释:备份和恢复的操作都比较简单,完整性比较高,控制备份周期比较灵活,例如,保存一周的数据,用%date:~0,3%,保存每天的数据,用%date:~4,10%。此方法适合有独立主机但对mysql没有管理经验的用户。缺点是占用空间比较多,备份期间mysql会短时间断开(例如:针对30M左右的数据库耗时5s左右)。

==============
假想环境:
MySQL   安装位置:C:\MySQL
论坛数据库名称为:bbs
MySQL root  密码:123456
数据库备份目的地:D:\db_backup\

脚本:
[Copy to clipboard]CODE:
Java代码
@echo off  
C:\MySQL\bin\mysqladmin -u root --password=123456 shutdown  
C:\MySQL\bin\mysqldump --opt -u root --password=123456 bbs > D:\db_backup\bbs.sql  
C:\MySQL\bin\mysqld-nt 

@echo off
C:\MySQL\bin\mysqladmin -u root --password=123456 shutdown
C:\MySQL\bin\mysqldump --opt -u root --password=123456 bbs > D:\db_backup\bbs.sql
C:\MySQL\bin\mysqld-nt

将以上代码保存为backup_db.bat
然后使用Windows的“计划任务”定时执行该脚本即可。(例如:每天凌晨5点执行back_db.bat)

----------------------------------------
利用WinRAR对MySQL数据库进行定时备份。
对于MySQL的备份,最好的方法就是直接备份MySQL数据库的Data目录。下面提供了一个利用WinRAR来对Data目录进行定时备份的方法。

首先当然要把WinRAR安装到计算机上。

将下面的命令写入到一个文本文件里

Java代码
net stop mysql  
del d:\mysql\data /q  
c:\progra~1\winrar\winrar a -ag -k -r -s d:\mysql.rar d:\mysql\data  
net start mysql 

net stop mysql
del d:\mysql\data /q
c:\progra~1\winrar\winrar a -ag -k -r -s d:\mysql.rar d:\mysql\data
net start mysql

保存,然后将文本文件的扩展名修改成CMD。

进入控制面版,打开计划任务,双击“添加计划任务”。在计划任务向导中找到刚才的CMD文件,接着为这个任务指定一个运行时间和运行时使用的账号密码就可以了。