≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 数据库 > MySQL

用批处理实现自动备份和清理MySQL数据库的代码

人气:332 时间:2020-07-09

这篇文章主要为大家详细介绍了用批处理实现自动备份和清理MySQL数据库的代码,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随四海网的小编小韵来看看吧!

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

不过到现在已经有很多的mysql备份软件,例如我比较喜欢使用的是护卫神的好备份软件。

下载地址:https://www.q1010.com/softs/42944.html

首先把脚本代码贴出来:

 

代码如下:


@echo on  

REM------------------------backup bugdb which is InnoDB-----------------------------    
del C:/backup/website/bugdb_*.sql    
cd F:/usr/wamp/mysql/bin    
set year=%date:~0,4%    
set month=%date:~5,2%    
set day=%date:~8,2%    
set filename=bugdb_%year%%month%%day%.sql    
mysqldump.exe bugdb -uroot -p123456 > F:/backup/website/%filename%    
@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批处理文件,在“计划”选项卡和“设置”选项卡里根据自己的实际需要进行设定,设置完毕后点“确定”进行保存该任务。接下来系统会在指定的时间里周期性地运行此脚本,从而达到自动备份数据库的目的。



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

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

代码如下:

 
D:/html/wamp/mysql/bin/mysql.exe -uroot -p123456 --default-character-set=utf8 bugdb < F:/bugdb_20100312.sql 

 

本文来自:http://www.q1010.com/177/9705-0.html

注:关于用批处理实现自动备份和清理MySQL数据库的代码的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:MYSQL

您可能感兴趣的文章

  • MySQL高级查询之与Group By集合使用介绍
  • master and slave have equal MySQL server ids
  • MySQL中使用自定义变量 编写偷懒的UNION示例
  • MySQL的binary解决MySQL数据大小写敏感问题的方法
  • MySQL使用inner join 进行 查询/删除/修改示例
  • MySQL中触发器入门简单实例与介绍
  • MySQL 关键词相关度排序方法详细示例分析
  • 在Python安装MySQL支持模块的方法
  • MySQL数据库安全设置与注意事项小结
  • MySQL技巧之select count的区别分析
上一篇:修改MySQL密码的几种常用方法总结
下一篇:MySQL的binary解决MySQL数据大小写敏感问题的方法
热门文章
  • mysql 修改character_set_server为utf-8的简单示例
  • 解决MySQL丢失文件localhost.localdomain.pid、mysql.sock的示例
  • MySQL 数据类型binary和varbinary的简单示例
  • MySQL:reading initial communication packet问题解决方法
  • MySql 表类型MYISAM、InnoDB区别
  • bash: mysql: command not found 的解决方法
  • MYSQL默认用户名ROOT修改方法
  • MySQL 常用命令菜鸟教程
  • MySQL 使用命令行新建用户并授予权限
  • MySql 数据库物理文件存放位置查看示例
  • 最新文章
    • MySQL查看死锁与解除死锁的简单示例
    • MySQL 慢查询的功能实例
    • MySQL查看死锁与去除死锁的简单示例
    • MySQL找出未提交事务的SQL的简单示例
    • MySQL锁阻塞的的简单示例
    • MySQL中的binary类型使用操作的示例
    • SQL优化教程之in与range查询的简单示例
    • MySQL 的 21 个规范、优化最佳实践!
    • MySQL 字符类型大小写敏感的简单示例
    • 解决mybatis-plus分页传入参数后sql where条件没有limit分页信息的问题

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。