北京SEO

windows下mysql每天定时备份数据库几种方法

2019/10/10/17:36:40  阅读:2775  来源:谷歌SEO算法  标签: 挖矿

在windows中备份mysql 数据库的方法有很多种,如有常用的WinRAR备份mysql、mysqldump备份成sql文件、xcopy 直接复制文件形式备份数据库,下面我来总结一下这些方法,并给出相关实例.

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

  1. netstopmysql
  2. xcopy"C:/ProgramFiles/MySQL/MySQLServer5.0/data/piaoyi/*.*"D:/db_backup/%date:~0,10%//y
  3. netstartmysql

注意:批处理命令中路径里有空格的话,必须在路径上加上双引号,然后使用Windows的"计划任务"定时执行该批处理脚本即可,例如,每天凌晨3点执行backup.bat.

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

关于时间参数的参考:

  1. %date:~0,10%//提取年月日信息
  2. %date:~-3%//提取星期几信息
  3. %time:~0,5%//提取时间中的时和分
  4. %time:~0,-3%//提取时和分和秒信息

第二种:mysqldump备份成sql文件.

假想环境:MySQL,安装位置:C:/MySQL

论坛数据库名称为:bbs,MySQL root 密码:123456,数据库备份目的地:D:/db_backup/.

脚本,代码如下:

  1. @echooff
  2. set"Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
  3. C:/MySQL/bin/mysqldump--opt-uroot--password=123456bbs>D:/db_backup/bbs_%Ymd%.sql
  4. @echoon

将以上代码保存为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,代码如下:

  1. netstopmysql
  2. "C:/ProgramFiles/WinRAR/WinRAR.exe"a-ag-k-r-sD:/db_backup/mysql_.rar"C:/ProgramFiles/MySQL/MySQLServer5.0/data/"
  3. netstartmysql

winrar参数解释:

a:添加文件到压缩文件

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

-k:锁定压缩文件

-r:递归子目录

-s:创建固实压缩文件

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

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

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

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

  1. echo取日期、时间变量值setyy=%date:~0,4%
  2. setmm=%date:~5,2%
  3. setdd=%date:~8,2%
  4. if/i%time:~0,2%lss10sethh=0%time:~1,1%
  5. if/i%time:~0,2%geq10sethh=%time:~0,2%
  6. setmn=%time:~3,2%
  7. setss=%time:~6,2% //phpfensi.com
  8. setdate=%yy%%mm%%dd%
  9. settime=%hh%%mn%%ss%
  10. setfilename=%date%_%time%
  11. "C:/ProgramFiles(x86)/MySQL/MySQLServer5.0/bin/mysqldump.exe"-uroot-pxxx--opt--default-character-set=utf8-e--triggers-R--hex-blob--flush-logs-xDBNAME>C:/db_backup/DBNAME%filename%.sql

echo 导出已经完成,#pause

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

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

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

广告内容

windows下mysql每天定时备份数据库几种方法 windows下mysql每天定时备份数据库几种方法 windows下mysql每天定时备份数据库几种方法

相关阅读

热门评论

卢松松博客 卢松松博客

关注创业者、自媒体人和站长的网站

总篇数167

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法