MySQL数据库全备
1 #function:MYSQL自动全备
2 #version:1.0.0
3 #author:wangyanlin
4 #date:2017/08/03
5 #-----------------------------------------------------------------------------------------------
6 #!/bin/sh
7 #创建目录
8 MAIN=`cd / && mkdir -p mysql_bak`
9 MAIN1=`mkdir -p /mysql_bak/all_data`
10 LOGS=`mkdir -p /mysql_bak/logs`
11 #指定参数
12 DATE=`date +%Y%m%d%H%M%S`
13 DATE1=`date +%Y%m%d`
14 DB_user=root
15 DB_password=123456
16 #MySQL全备使用mysqldump命令
17 start_time=`date +'%Y-%m-%d %H:%M:%S'`
18 echo "$DATE数据库全备开始......" >> /mysql_bak/logs/Full_Bak_$DATE1.log
19 /usr/bin/mysqldump --all-databases --default-character-set=utf8 --flush-logs -u$DB_user -p$DB_password > /mysql_bak/all_data/Full_Bak_$DATE.sql
20 if [ $? -eq 0 ]
21 then
22 echo "$DATE数据库备份成功......" >> /mysql_bak/logs/Full_Bak_$DATE1.log
23 cd /mysql_bak/all_data/
24 /usr/bin/tar -zcvf Full_Bak_$DATE.sql.tar.gz Full_Bak_$DATE.sql > /dev/null
25 if [ $? -eq 0 ]
26 then
27 echo "$DATE数据库备份打包成功......" >> /mysql_bak/logs/Full_Bak_$DATE1.log
28 /usr/bin/find /mysql_bak/all_data/ -name "Full_Bak_*.*" -mtime +7 -exec rm -rf {} \;
/usr/bin/find /mysql_bak/logs/ -name "Full_Bak_*.log" -mtime +7 -exec rm -rf {} \;
29 else
30 echo "$DATE数据库备份打包失败......" >> /mysql_bak/logs/Full_Bak_$DATE1.log
31 exit 0
32 fi
33 else
34 echo "$DATE数据库备份失败......" >> /mysql_bak/logs/Full_Bak_$DATE1.log
35 cd /mysql_bak/all_data/
36 rm -rf Full_Bak_$DATE.sql
37 exit 0
38
39 fi
40 end_time=`date +'%Y-%m-%d %H:%M:%S'`
41 start_seconds=$(date --date="$start_time" +%s);
42 end_seconds=$(date --date="$end_time" +%s);
43 echo "本次备份运行时间: "$((end_seconds-start_seconds))"s" >> /mysql_bak/logs/Full_Bak_$DATE1.log
添加计划任务:
crontab -e
00 00 * * 6 /root/MySQL_allbak.sh #每周六的凌晨00点开始全备
logs日志打印出来的效果:

使用前请将备份的路径自行更改,后期会更新MySQL数据库自动增量备份的脚本代码和手动交互式备份数据库的代码,有问题请指出,新手刚写,大神勿喷!
MySQL数据库全备的更多相关文章
- mysql数据库全备和全备还原(使用Xtrabackup)
一.使用innobackupex创建全备 语法 innobackupex --user=DBUSER --password=DBUSERPASS /path/to/backup/dir/ innoba ...
- mysql数据库的增量备份和全备
还有一种简单的方法 参考 https://blog.csdn.net/u010098331/article/details/50932064 (注意:5.6版本以上新加了gtid 功能,gtid开启之 ...
- 使用xtrabackup备份mysql数据库
数据在一个企业里非常重要,因此经常需要备份数据库,确保出线故障时,可以立刻恢复数据到最新状态,目前常见的备份工具有mysqldump和xtrabackup,数据量较少时可以使用mysqldump,但随 ...
- 使用 xtrabackup 进行MySQL数据库物理备份
0. xtrabackup的功能 能实现的功能: 非阻塞备份innodb等事务引擎数据库. 备份myisam表会阻塞(需要锁). 支持全备.增量备份.压缩备份. 快速增量备份(xtradb,原理类似于 ...
- mysql数据库误删除后的数据恢复操作说明
在日常运维工作中,对于mysql数据库的备份是至关重要的!数据库对于网站的重要性使得我们对mysql数据的管理不容有失!然后,是人总难免会犯错误,说不定哪天大脑短路了来个误操作把数据库给删除了,怎么办 ...
- MYSQL数据库自动本地/异地双备份/MYSQL增量备份
构建高安全电子商务网站之(网站文件及数据库自动本地/异地双备份)架构图 继续介绍Linux服务器文件备份,数据库备份,数据安全存储相关的电子商务系统架构.针对安全性有多种多样的解决方案,其中数据备份是 ...
- MySQL数据库备份还原(基于binlog的增量备份)
MySQL数据库备份还原(基于binlog的增量备份) 一.简介 1.增量备份 增量备份 是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件.这就意味 ...
- MySQL 数据库增量数据恢复案例
MySQL 数据库增量数据恢复案例 一.场景概述 MySQL数据库每日零点自动全备 某天上午10点,小明莫名其妙地drop了一个数据库 我们需要通过全备的数据文件,以及增量的binlog文件进行数据恢 ...
- mysql数据库误删除操作说明
在日常运维工作中,对于mysql数据库的备份是至关重要的!数据库对于网站的重要性使得我们对mysql数据的管理不容有失!然后,是人总难免会犯错误,说不定哪天大脑短路了来个误操作把数据库给删除了,怎么办 ...
随机推荐
- [数据结构]C语言链表实现
我学数据结构的时候也是感觉很困难,当我学完后我发现了之所以困难时因为我没有系统的进行学习,而且很多教授都只是注重数据结构思想,而忽略了代码方面,为此我写了这些博文给那些试图自学数据结构的朋友,希望你们 ...
- C语言应用程序的内存图
1.综述 c语言应用程序加载到内存,这时它所占据的内存分为四个区,分别为栈Stack,堆Heap,静态存储区Static Area,代码存储区Code Area,这四个区分别放置应用程序的不同部分,从 ...
- vue-router项目实战总结
今天来谈谈vue项目{vue,vue-router,component}三大神将之一的vue-router.作为我们前后端分离很重要的实践之一,router帮我们完成了SPA应用间的页面跳转. 并且, ...
- js回到顶部------转载
[1]锚点 使用锚点链接是一种简单的返回顶部的功能实现.该实现主要在页面顶部放置一个指定名称的锚点链接,然后在页面下方放置一个返回到该锚点的链接,用户点击该链接即可返回到该锚点所在的顶部位置 [注意] ...
- 查看内存和cpu
top: 主要参数 d:指定更新的间隔,以秒计算. q:没有任何延迟的更新.如果使用者有超级用户,则top命令将会以最高的优先序执行. c:显示进程完整的路径与名称. S:累积模式,会将己完成或消失的 ...
- URL加载页面的过程
总体过程: 1.DNS解析 2.TCP连接 3.发送HTTP请求 4.服务器处理请求并返回HTTP报文 5.浏览器解析渲染页面 6.连接结束 一.DNS解析 在互联网中,每一台机计算机的唯一 标识是他 ...
- Spark源码剖析(七):Job触发流程原理与源码剖析
引言 我们知道在application中每存在一个action操作就会触发一个job,那么spark底层是怎样触发job的呢?接下来我们用一个wordcount程序来剖析一下job的触发机制. 解析w ...
- [编织消息框架][netty源码分析]14 PoolChunk 的 PoolSubpage
final class PoolSubpage<T> implements PoolSubpageMetric { //该page分配的chunk final PoolChunk<T ...
- 深入理解 React JS 中的 setState
此文主要探讨了 React JS 中的 setState 背后的机制,供深入学习 React 研究之用. 在课程 React.js入门基础与案例开发 中,有些同学会发现 React JS 中的 set ...
- Word+PS制作拼音表格
这几天,朋友让帮忙做个拼音表格,使用Word可以直接标注音标,却无法实现小时候那种4线3格,Word的模板只有练习书法的.使用Excel却,无法将拼音标注单独标注到上一单元格(有朋友会VBA的话,帮我 ...