用批处理实现自动备份和清理mysql数据库

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 转自博客 http://blog.csdn.net/fanfanjin/article/details/6284016 有网友问我在win2003下如何自动备份MySQL数据库,既然是自动备份,那肯定得写脚本。

转自博客

http://blog.csdn.net/fanfanjin/article/details/6284016

有网友问我在win2003下如何自动备份MySQL数据库,既然是自动备份,那肯定得写脚本。我想了想,这个并不是很困难,是很容易实现的,备份可以用脚本实现,那自动又该如何实现呢?也很简单,就用windows自带的“任务计划”功能,设定一个时间,让系统定时跑脚本,不就实现了自动备份数据库的功能了吗?首先把脚本代码贴出来:

 

  1. @echo on 
  2.  
  3. REM------------------------backup bugdb which is InnoDB-----------------------------   
  4. del C:/backup/website/bugdb_*.sql   
  5. cd F:/usr/wamp/mysql/bin   
  6. set year=%date:~0,4%   
  7. set month=%date:~5,2%   
  8. set day=%date:~8,2%   
  9. set filename=bugdb_%year%%month%%day%.sql   
  10. mysqldump.exe bugdb -uroot -p123456 > F:/backup/website/%filename%   
  11.   
  12. @echo off  

 

第9行  也可以换成     set filename=bugdb%date:~0,10%.sql

依次解释一下每句代码的意思:

  • 第四行:删除指定目录下的文件名包含有“bugdb_”字样的sql文件。因为这个代码是我先前写的,在公司的服务器上每天晚上跑一次。所以每次备份之前,先删除头天已备份成功的文件。
  • 第五行:进入MySQL的bin目录,因为在此目录下有个mysqldump.exe的文件,该文件时MySQL数据库自带的备份和恢复MySQL数据库的工具,这个脚本文件正是用到该工具。
  • 第六行:取当前系统日期的年份,以四位数字表示,如2010。
  • 第七行:取当前系统日期的月份,以两位数字表示,如03。
  • 第八行:取当前系统日期的日期,以两位数字表示,如12。
  • 第九行:定义备份文件名,最终的文件名以bugdb_20100312.sql形式存在,即文件名加日期的形式。
  • 第十行:执行备份。

再来解释一下mysqldump的语法格式。格式为:

 
  1. mysqldump.exe "要备份的数据库名" -u(接用户名) -p(接密码) > "备份文件存放的路径及文件名" 

其中“>”的作用是输出重定向,即把mysqldump.exe备份的数据输出到一个文件里并保存。

将以上脚本复制到一个文本文件里,并另存为*.bat,如backup.bat的批处理文件,接下来会要用到该文件,我把它存在D:/scripts/backup_bugdb.bat。

打开“控制面板”里的“任务计划”,新建一个计划任务:

任务计划

在“运行”里面通过浏览按钮找到刚保存的backup.bat批处理文件,在“计划”选项卡和“设置”选项卡里根据自己的实际需要进行设定,设置完毕后点“确定”进行保存该任务。接下来系统会在指定的时间里周期性地运行此脚本,从而达到自动备份数据库的目的。

任务计划2


注意: 当设置的时候  提示你“没有权限”的时候,就勾选上面的 :仅在登入后运行


另外附上还原数据库的命令:

 

  1. D:/html/wamp/mysql/bin/mysql.exe -uroot -p123456 --default-character-set=utf8 bugdb
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
关系型数据库 MySQL 数据库
rds备份与恢复
rds备份与恢复
57 3
|
2月前
|
SQL 关系型数据库 MySQL
mysql怎么备份
mysql怎么备份
197 7
|
17天前
|
数据库
使用Navicat Premium 12进行数据库定期自动备份(定时任务)--图文详解
使用Navicat Premium 12进行数据库定期自动备份(定时任务)--图文详解
19 0
|
17天前
|
SQL 存储 关系型数据库
mysql数据库备份与恢复
mysql数据库备份与恢复
|
1月前
|
SQL 存储 数据库
数据安全无忧,SQL Server 2014数据库定时备份解密
数据安全无忧,SQL Server 2014数据库定时备份解密
|
1月前
|
存储 运维 数据库
如何定期清理数据库中的无效数据?
学习如何定期清理数据库中的无效数据,以提高数据库性能并节省存储空间。了解如何利用NineData的数据归档功能实现自动化数据清理,简化DBA工作,降低成本,提高数据库操作效率。通过定期执行归档任务,企业可以优化数据库空间管理,避免无效数据堆积引发的性能问题,实现降本增效。
27 0
|
2月前
|
关系型数据库 MySQL Linux
Linux环境下定时备份mysql数据库
Linux环境下定时备份mysql数据库
|
2月前
|
数据库 对象存储 数据安全/隐私保护
在oceanbase数据库中,有没有遇到备份到oss环境,备份进度到98%就一直卡着的问题?
在oceanbase数据库中,有没有遇到备份到oss环境,备份进度到98%就一直卡着的问题?
30 6
|
2月前
|
存储 关系型数据库 MySQL
mysql怎么备份
mysql怎么备份
22 7
|
2月前
|
SQL 存储 关系型数据库
备份数据库
备份数据库
22 9