首页 > 代码库 > mysqldump 定时备份数据(全量)

mysqldump 定时备份数据(全量)

MYSQL 数据库备份有很多种(cp、tar、lvm2、mysqldump、xtarbackup)等等,具体使用哪一个还要看你的数据规模。下面给出一个表

 

#摘自《学会用各种姿态备份Mysql数据库》

备份方法 备份速度 恢复速度 便捷性 功能 一般用于
cp 一般、灵活性低 很弱 少量数据备份
mysqldump 一般、可无视存储引擎的差异 一般 中小型数据量的备份
lvm2 一般、支持几乎热备、速度快 一般 中小型数据量的备份
xtrabackup 较快 较快 实现innodb热备、对存储引擎有要求 强大 较大规模的备份

 

 

 

 

 

 

当然了本篇文章只讲mysqldump【官方文档】,其他方式有机会可以给大家分享。在用mysqldump做备份的时候,我的方式比较简单。就是用批处理+定时的方式来做。

mysqldump备份是说白了就是把所需要的语句保存下来。

主要特点适配mysql的所有引擎,支持温备、完全备份、部分备份(支持InnoDB热备)

 

1、首先编写shell脚本

rem *******************************start*****************************
@echo off

set "Ymdhms=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%"
C:\myserver\mysql-5.7.10-winx64\bin\mysqldump --opt -u root --password=123456 xxxdb > C:\myserver\mysql-5.7.10-winx64\db_backup\backup_%Ymdhms%.sql

@echo on
rem *******************************end*****************************

说明 

  • rem:备注
  • Ymdhms:时间
  • --opt:代表激活mysqldump命令的quick,add-drop-table,add-locks,extended-insert,lock-tables
  • >:导出
  • xxxdb:待导出的数据库

注意:

  • 一定记得要数据库密码改成自己的,不然导出来的文件会为空
  • 如果导出某一个表在数据库后面接着写表名就可以了 例如:……xxxdb  xxxtable > C:\mysql……

 

拷贝上边的shell脚本制作成.bat批处理脚本放在合适的位置即可。

还原如下:

mysql>source C:\xxx.sql

 

2、Windows计划任务

  打开:控制面板->管理工具->任务计划程序->创建任务

  

技术分享

 

常规


 

技术分享

 

触发器(每天凌晨3执行一次备份)


 

 

 技术分享

 

 直接保存,然后设置最后一步

操作


 

技术分享

找到你的批处理文件,添加进来然后确定保存,然后列表中就显示了刚刚设置的任务。

注意:

  比较关键的是别忘记开启

技术分享

 

 本篇做的是mysqldump的(全量备份),下一篇来说说(增量备份)

 

mysqldump 定时备份数据(全量)