windows mysql备份方法总结(自动备份)

作者:简简单单 2013-10-15

步骤非常的简单,就三部搞定:
1.建立bat文件,bat文件内容

 代码如下 复制代码

@echo off
set "a=%date% %time:~0,2%_%time:~3,2%"
E:/backdata/tool/mysqldump.exe -uroot -p111111 --database database1 database2> "E:/backdata/back_up(%a%).sql"

//以下是解释
第一句,bat文件的通用命令。
第二句,设置月份格式,为了文件名不重复,并且知道当前文件的生成日期,生成的格式为:back_up(2013-04-25 星期四 18_00).sql   红色的这段。
第三句,我是将mysqldump.exe从安装文件拷贝到这个目录的,目的是为了防止空格(E:/backdata/tool/mysqldump.exe这段不能有空格,空格需要非常特殊的处理,这里不写详细的)。-u后面是用户名,注意没有空格哦, -u root这样是要出错的,同样-p也是。--database后面可以跟多个数据库

2.建立计划任务,执行bat文件
到windows的任务计划里新建一个计划任务,我的计划任务执行是1个月执行一次上面的bat文件,完整备份一次数据库,以sql的形式,一般情况下设置在凌晨3点左右。
为什么一个月一次呢,因为我们还有增量备份,如果太频繁的话,消耗磁盘空间,也会消耗大量的数据库性能。所以建议是较长的时间周期,做好增量备份就可以应付了。

3.mysql的增量备份
通过上面的方案,可以将数据库恢复到上个月的数据,但是如果只有上面的备份方案,这个月的数据就不能找回了。配合增量备份方案,就可以恢复到过去的任何时候,达到比较实用的程度。那么增量备份是怎么样备份的呢?
只需在my.ini文件末尾加上这个配置就可以了:

 代码如下 复制代码

#log
log-error=D:/backdata/logs/error.log
log_bin=D:/backdata/logs/logbin.log
long_query_time=2
log-slow-queries=D:/backdata/logs/slowquery.log

这里有用的是第二行,生成的bin文件。其它几个不是用于备份的,但感觉很有用的日志,而且占用空间不大,对于分析mysql的问题是大有好处的。


我自己mysql备份实例 xcopy

第一步:新建mysql数据库备份脚本文件
        新建一个记事本,然后重命名为: mysql_backup.bat 然后单击右键选择编辑,把下面的部分粘贴进来然后修改保存,比如我要备份activecode这个数据库,脚本如下:

Windows下mysql自动备份的最佳方案 - myswirl - 漩涡的窝

 

******************************************************mysql_backup.bat*******************************************************

 代码如下 复制代码

net stop mysql

xcopy "C:/Program Files/MySQL/MySQL Server 5.0/data/activecode/*.*" D:/db_backup/%date:~0,10%/ /y

net start mysql

******************************************************mysql_backup.bat*******************************************************

  上面的D盘和db_backup等目录大家都可以自行修改,脚本的意思就是复制taobao 这个目录到D盘的db_backup这个目录里面的以当天为名称的目录里面,比如: d:/backup/2010-05-23/ ,请大家注意,网上很多人转载的说以%date:~4,10%这个来作为当天目录是错误的。

第二步:新建Windows计划任务  

        然后新建一个计划任务,把mysql_backup.bat加入进去,设置为每天凌晨几点运行下就行了。

Windows下mysql自动备份的最佳方案 - myswirl - 漩涡的窝

 

Windows下mysql自动备份的最佳方案 - myswirl - 漩涡的窝

 

Windows下mysql自动备份的最佳方案 - myswirl - 漩涡的窝

 

Windows下mysql自动备份的最佳方案 - myswirl - 漩涡的窝

 

Windows下mysql自动备份的最佳方案 - myswirl - 漩涡的窝

 

Windows下mysql自动备份的最佳方案 - myswirl - 漩涡的窝

 

Windows下mysql自动备份的最佳方案 - myswirl - 漩涡的窝


 第三步:数据库恢复

 将备份的文件夹进行替换即可。

 还有一个方法是通过mysql的mysqldump把数据库备份成.sql文件,这种方法的弊端就是数据库小的话没问题,但是数据库稍微大点, 比如1g以上的时候,就特别慢,而且超级占用内存,速度绝对比复制文件慢,而且在备份的时候数据库照样是无法访问的,这样子还不如用上面我给的那种方式。

以上方法仅对有服务器控制权或者vps的有效,虚拟主机就只能用phpmyadmin或者帝国备份王备份了。

相关文章

精彩推荐