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数据的管理不容有失!然后,是人总难免会犯错误,说不定哪天大脑短路了来个误操作把数据库给删除了,怎么办 ...
随机推荐
- xamarin android 在代码中如何设置文本颜色
xamarin android 在代码中如何设置文本颜色 TextView v = FindViewById<TextView>(Android.Resource.Id.Message); ...
- Linux服务器上的oracle数据导入和导出
背景: 在同一台Linux服务器上,有两个数据库用户,分别为:database1,database2,如何把database1用户下面的所有的表和数据,导入到database2数据库(database ...
- Python函数篇(6)-常用模块及简单的案列
1.模块 函数的优点之一,就是可以使用函数将代码块与主程序分离,通过给函数指定一个描述性的名称,并将函数存储在被称为模块的独立文件中,再将模块导入主程序中,通过import语句允许在当前运行的程序 ...
- Linux内置命令
主要Shell内置命令 Shell有很多内置在其源代码中的命令.这些命令是内置的,所以Shell不必到磁盘上搜索它们,执行速度因此加快.不同的Shell内置命令有所不同. A.2.1 bash内置命令 ...
- 一、源代码-面向CLR的编译器-托管模块-(元数据&IL代码)
本文脉络图如下: 1.CLR(Common Language Runtime)公共语言运行时简介 (1).公共语言运行时是一种可由多种编程语言一起使用的"运行时". (2).CLR ...
- CHECKDB内部:什么是BlobEater?
DBCC CHECKDB注意到有关数据文件页面.一旦整个表的所有页(或一组表,如果配料已启用-看到同样的博客文章我上面提到的),所有的事实都聚集在一起,他们都应该相互抵消.当有额外的事实(在索引B树都 ...
- 【Java框架型项目从入门到装逼】第六节 - 用ajax请求后台数据
这一节我们来说一下如何用ajax提交请求? 我们先不讲ajax的原理,还是先以实战为主,看一下这个东西到底怎么用的? form表单: <!-- 采用post表单提交 --> <for ...
- 极光配置-》thinkphp3.2.3
1,小白我搞了几天,终于得到了这样的结果(我猜应该是成功了吧). { "body": { "sendno": "100000", " ...
- 【python3之文件操作】
一.文件操作 1.文件处理的流程 1)打开文件,得到文件句柄并赋值给一个变量 2)通过句柄对文件进行操作 3)关闭文件 例如: f = open('chenli.txt') #打开文件 first_l ...
- Hadoop源码篇--Client源码
一.前述 今天起剖析源码,先从Client看起,因为Client在MapReduce的过程中承担了很多重要的角色. 二.MapReduce框架主类 代码如下: public static void m ...