设为首页 收藏本站
查看: 1054|回复: 0

[经验分享] Windows下MySQL数据库的定时备份脚本

[复制链接]

尚未签到

发表于 2015-12-16 10:54:49 | 显示全部楼层 |阅读模式
每一天备份一次MySQL的数据文件,由于网上很多自动备份工具都是调用MySQL dump来进行逻辑备份,效率很低对于非常大的数据库
自己使用copy物理数据文件的方式更快,在本地备份,这里用到Windows的XCOPY命令来进行拷贝文件


XCOPY命令可以自动帮你创建文件夹当发现你复制文件的时候的所在路径不存在的时候
参数:
/S:复制目录和子目录,不包括空目录
/I:如果目标不存在,而且要复制多个文件,则假定目标必须是目录


xcopy_DBBackup_exclude.bat 文件的内容


  • XCOPY D:\DataBase\ibdata1  E:\DBBackup\%date:~0,10%\ /S /I


  • XCOPY D:\DataBase\data  E:\DBBackup\%date:~0,10%\ /S /I /exclude:exclude.txt

exclude.txt文件里面的内容


  • D:\Database\data\ib_logfile0

  • D:\Database\data\ib_logfile1
  • D:\Database\data\shizuishan1.err
  • D:\Database\data\shizuishan1.pid
  • D:\Database\data\barfoo_opinion_log
  • D:\Database\data\log-bin\
  • D:\Database\data\mysql-bin\



%date:~0,10%格式 讲解
http://zhidao.baidu.com/link?url=DXDi_WwOWTXbFaiXRQB7IPM8mr8eI9hYT_ggAZ9fesI2oBf2i3XtMyoMhibAMedtSikPr-EQmBVVYbXcgYeWkq

例子:


  • XCOPY D:\quickstart  E:\mlsite\"%date:~0,4%"\%date:~5,10%\
DSC0000.jpg
E:\mlsite
DSC0001.jpg DSC0002.jpg
DSC0003.jpg


按数据库来进行备份
xcopy_DBBackup_exclude.bat 文件的内容


  • XCOPY D:\Data\ibdata1 E:\DBBackup\%date:~0,10%\ /S /I


  • XCOPY D:\Database\data\A库 E:\DBBackup\%date:~0,10%\A库\ /S /I
  • XCOPY D:\Database\data\B库 E:\DBBackup\%date:~0,10%\B库\ /S /I
  • XCOPY D:\Database\data\C库 E:\DBBackup\%date:~0,10%\C库\ /S /I

任务计划设置
DSC0004.jpg


网上流行的一个bat脚本
文件名:dabak.bat
参数
/Y:取消提示以确认要覆盖现有目标文件


  • net stop mysql

  • mkdir E:\db_backup\mlsite\"%date:~4,10%"
  • xcopy D:\"Program Files"\MySQL\"MySQL Server 5.0"\data\ibdata1 E:\db_backup\mlsite\"%date:~4,10%"\ /Y
  • xcopy D:\"Program Files"\MySQL\"MySQL Server 5.0"\data\mlsite\*.* E:\db_backup\mlsite\"%date:~4,10%"\ /Y
  • net start mysql
解释:
1) 关闭Mysql服务
2) 创建备份目录
3) 拷贝ibadata1到备份目录下,注意Program Files上打了引号,是因为若不打引号会出现参数错误,
原因是因为xcopy的参数是前面是源地址+空格+目标地址,如果不打引号,Program Files上有空格,会对这个命令产生影响
4) 拷贝mlsite其它文件到备份目录下(mlsite\*.*)
5) 开启mysql服务


相比起SQL Server,不方便的地方有:
1、自己按照时间日期格式来存放备份文件
2、不能自动删除备份文件,只能调用cmd命令


  • rem 保留30天的备份文件

  • forfiles /P  F:\DBBackup_02  /S /D -30 /C "cmd /c del @file /q"
3、针对不同的库的备份没有通用方法,要改xcopy_DBBackup_exclude.bat 文件内容来实现,不过SQLServer也一样,一个job还是多个job
4、很难监控备份是否成功
5、任务计划有可能挂掉
6、MyISAM引擎不需要停止MySQL服务,但是Innodb需要停止MySQL服务

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-151918-1-1.html 上篇帖子: 工作内容更改Windows系统账户密码的顺序 下篇帖子: windows平台下vlc编译
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表