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:myservermysql-5.7.10-winx64inmysqldump --opt -u root --password=123456 xxxdb > C:myservermysql-5.7.10-winx64db_backupackup_%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的(全量备份),下一篇来说说(增量备份)