第一种:新建批处理文件 backup.dat,里面输入以下代码:

 代码如下 复制代码
net stop mysql

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

net start mysql

注意:批处理命令中路径里有空格的话,必须在路径上加上双引号!

然后使用Windows的"计划任务"定时执行该批处理脚本即可。(例如:每天凌晨3点执行backup.bat)

解释:备份和恢复的操作都比较简单,完整性比较高,控制备份周期比较灵活。此方法适合有独立主机但对mysql没有管理经验的用户。缺点是占用空间比较多,备份期间mysql会短时间断开(例如:针对30M左右的数据库耗时5s左右)。 

关于时间参数的参考:

%date:~0,10%      //提取年月日信息

%date:~-3%         //提取星期几信息

%time:~0,5%         //提取时间中的时和分

%time:~0,-3%       //提取时和分和秒信息

第二种:mysqldump备份成sql文件

==============

假想环境:

MySQL   安装位置:C:/MySQL

论坛数据库名称为:bbs

MySQL root   密码:123456

数据库备份目的地:D:/db_backup/

脚本:

 代码如下 复制代码
@echo off

set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"

C:/MySQL/bin/mysqldump --opt -u root --password=123456 bbs > D:/db_backup/bbs_%Ymd%.sql

@echo on

将以上代码保存为backup_db.bat

然后使用Windows的"计划任务"定时执行该脚本即可。(例如:每天凌晨5点执行back_db.bat)

说明:此方法可以不用关闭数据库,并且可以按每一天的时间来名称备份文件。

通过%date:~5,2%来组合得出当前日期,组合的效果为yyyymmdd,date命令得到的日期格式默认为yyyy-mm-dd(如果不是此格式可以通过pause命令来暂停命令行窗口看通过%date:~,20%得到的当前计算机日期格式),所以通过%date:~5,2%即可得到日期中的第五个字符开始的两个字符,例如今天为2009-02-05,通过%date:~5,2%则可以得到02。(日期的字符串的下标是从0开始的)

第三种:利用WinRAR对MySQL数据库进行定时备份。

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

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

将下面的命令写入到一个文本文件里,如 backup.bat

 代码如下 复制代码
net stop mysql

"C:/Program Files/WinRAR/WinRAR.exe" a -ag -k -r -s D:/db_backup/mysql_.rar "C:/Program Files/MySQL/MySQL Server 5.0/data/"

net start mysql

winrar参数解释:

a: 添加文件到压缩文件

-ag: 使用当前日期生成压缩文件名

-k: 锁定压缩文件

-r: 递归子目录

-s: 创建固实压缩文件

执行以上文件后,会生成一个压缩文件如:mysql_20130803004138.rar。

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

   这种方法缺点是占用时间比较多,备份期间压缩需要时间,mysql断开比第一种方法更多的时间,但是对于文件命名很好。

1.在D盘创建db_backup文件夹,并新建backdb.bat。

2.在backdb.bat里面加入一下代码:

 代码如下 复制代码

echo 取日期、时间变量值set yy=%date:~0,4%

set mm=%date:~5,2%

set dd=%date:~8,2%

if /i %time:~0,2% lss 10 set hh=0%time:~1,1%

if /i %time:~0,2% geq 10 set hh=%time:~0,2%

set mn=%time:~3,2%

set ss=%time:~6,2%

set date=%yy%%mm%%dd%

set time=%hh%%mn%%ss%

set filename=%date%_%time%

"C:/Program Files (x86)/MySQL/MySQL Server 5.0/bin/mysqldump.exe" -uroot
-pxxx --opt --default-character-set=utf8 -e --triggers -R --hex-blob
--flush-logs -x DBNAME > C:/db_backup/DBNAME%filename%.sql

echo 导出已经完成

#pause

在这里要注意你的MySQL安装路径以及相应的数据库用户名和密码,我使用的是D:/sense/mysql/bin。

3.双击运行此脚本,看是否会生成Dbname20111207_200445.sql文件,如有则脚本无错误。

4.进入控制面板,在任务计划里添加计划任务,把要执行的批处理以浏览方式加入任务计划,并设定好执行时间,最好选择每天执行,这样就实现每天自动备份数据库了。

windows 下mysql每日定时备份的几种方法的更多相关文章

  1. windows下mysql数据库定时备份。

    注意:看本教程先必须会windows自带的"任务计划程序". 首先创建一个bat后缀的文件我的是timerExecutePhp.bat文件 timerExecutePhp.bat ...

  2. windows系统——mysql自动定时备份数据库的最佳方法

    网上有很多关于window下Mysql自动备份的方法,可是真的能用的也没有几个,有些说的还非常的复杂,难以操作. 我们都知道mssql本身就自带了计划任务可以用来自动备份,可是mysql咱们要怎么样自 ...

  3. windows下mysql自动定时备份bat

    @echo off : basedataset ip=192.168.12.41set user=rootset password=12456 set databaseName=test set /a ...

  4. Windows 下 MySQL 简单定时自动备份、删除过期备份

    Windows 下 MySQL 简单定时自动备份.删除过期备份 MySQL Workbench 客户端虽然好用,但并不提供自动备份功能.手工备份,确实繁琐. 新建一个 数据库备份文件存放目录,本例为D ...

  5. [转]mysql自动定时备份数据库的最佳方法-支持windows系统

    网上有很多关于window下Mysql自动备份的方法,可是真的能用的也没有几个,有些说的还非常的复杂,难以操作. 我们都知道mssql本身就自带了计划任务可以用来自动备份,可是mysql咱们要怎么样自 ...

  6. windows下oracle数据库定时备份与压缩批处理脚本(win7/win2008亲测通过)

    第一种方式:全备份,并直接覆盖原来的备份文件,固定命名. 脚本: @echo off exp system/a123@HZPG file=e:\db_backup\oradata.dmp log=e: ...

  7. Windows下自由创建.htaccess文件的N种方法

    .htaccess是apache的访问控制文件,apache中httpd.conf的选项配合此文件,完美实现了目录.站点的访问控 制,当然最多的还是rewrite功能,即URL重写,PHP中实现伪静态 ...

  8. windows下mysql主从同步备份步骤

    目的:有两台MySQL数据库服务器A和B,使A为主服务器,B为从服务器,初始状态时,A和B中的数据信息相同,当A中的数据发生变化时,B也跟着发生相应的变化,使得A和B的数据信息同步,达到备份的目的. ...

  9. Linux 下mysql的定时备份

    在实际项目中,数据库是要经常备份的,就是为了防止突发情况,前段时间,我的数据库就遭遇了入侵要支付B特比的,结果数据全没了,哎,还好当时只是个测试库,不过有了这次危机,也就开始意识到了这个问题了. 先写 ...

随机推荐

  1. Statement returned more than one row, where no more than one was expected

    Statement returned more than one row, where no more than one was expected <resultMap id="Stu ...

  2. python pymongo-ensure_index

    create_index 与 ensure_index 一.概述 ensure_index() 在mongoDB中创建索引 看了[1]感觉自己有些断章取义 ----------41316-- 参考链接 ...

  3. hdu3652 B-number

    链接 题意求能够整除和包含13的数字. 这个比较简单,保留余数及1,然后标记前面是否出现过13就行. #include <iostream> #include<cstdio> ...

  4. Deep Learning 15:RBM的学习

    RBM是深度学习的核心,所以必须彻底清楚地理解RBM原理.推导及其训练方法 1.读学位论文“基于深度学习的人脸识别研究”: 对RBM.DBN的介绍比较详细,可以作为基础阅读,再去读英文论文. 2.RB ...

  5. String和StringBuffer、StringBuilder的区别

    目录: 1.String类的不可变性 2.用String的时候需要注意什么 3.String与StringBuilder的区别 4.StringBuilder和StringBuffer的区别 Stri ...

  6. Android 控件知识点

    一.引入布局 在xml文件中引入另一个布局 <include layout="@layout/XXX" /> 个人理解就是在父布局的某个位置在嵌套一个布局. 二.自定义 ...

  7. SPSS数据分析—最小一乘法

    线性回归最常用的是以最小二乘法作为拟合方法,但是该方法比较容易受到强影响点的影响,因此我们在拟合线性回归模型时,也将强影响点作为要考虑的条件.对于强影响点,在无法更正或删除的情况下,需要改用更稳健的拟 ...

  8. ABAP字符串翻转

    就这个函数STRING_REVERSE 略显蛋疼,好搞那么复杂.... 简单的转换嘛: FUNCTION ZSTRING_REVERSE. *"----------------------- ...

  9. Javascript之运动框架2

    运动框架2与运动框架1的不同之处在于,运动框架2是框架1的升级版,首先完善了传入值,改为move(obj,json,options),在options里面,可以选择传入或者不传入时间,运动形式,以及函 ...

  10. poj 2763 Housewife Wind

    题目链接 分析:这道题是树链剖分的裸题,把边的信息保存在深度大的那个节点上就行了. 一开始写的邻接表,居然TLE了.后来百度发现有人说前向星跑得比较快?我不是很明白,但是改成前向星以后的确快了很多,邻 ...