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数据的管理不容有失!然后,是人总难免会犯错误,说不定哪天大脑短路了来个误操作把数据库给删除了,怎么办 ...
随机推荐
- Spring基础篇——DI和AOP初识
前言 作为从事java开发的码农,Spring的重要性不言而喻,你可能每天都在和Spring框架打交道.Spring恰如其名的,给java应用程序的开发带了春天般的舒爽感觉.Spring,可以说是任何 ...
- 瞎j8封装第二版之用xml文件来代理dao接口
也是重新整理了之前的那篇 模仿Mybatis用map per.xml实现Dao层接口的功能 话不多说直接上代码 首先是结构 依赖pom.xml <?xml version="1.0&q ...
- ubuntu12.04destdrop删除不必要的软件
sudo apt-get -y --auto-remove purge unity unity-2d* sudo apt-get -y purge empathy sudo apt-get -y ...
- PHP判断手机号运营商(详细介绍附代码)
道理很简单,知道手机号规则 进行正则判断就可以 移动:134.135.136.137.138.139.150.151.157(TD).158.159.187.188 联通:130.131.132.15 ...
- 9.nginx使用redis用缓存
需要使用到的第三方模块,因为在有道笔记上面,所以为办法直接给你们,需要的话给我私信或者邮件(913956964@qq.com) 1.编译安装,添加上述扩展插件 ./configure --prefix ...
- Windows zip安装MySQL
1. mysqld初始化时my.ini的第二个默认位置是%windir%/my.ini rem 1.查看此变量对应的目录,在此目录下编辑 my.ini,mysqld会自动找到 echo %WINDIR ...
- 人工智能一:Al学习路线
想要跨入AI的大门,如何跨?终于找到了一套学习方法 努力向你靠近 2017-12-03 07:14:51 当下人工智能领域的发展已经有了燎原之势,麦肯锡全球研究院就认为人工智能促进对社会的转变速度将比 ...
- 解决反序列化(Deserialize)无法找到程序集的错误
http://blog.csdn.net/w_s_q/article/details/5677536 在使用.NET序列化对象时,会将程序集信息也包含进去.如果将序列化之后的字节数组通过网络(或其他传 ...
- Linux上安装Redis
很多编程的小朋友一提到Linux脑袋就大了,我也一样,我是一个大专的学生,没有学过Linux,感觉自己欠缺很多,也知道了人和人之间的差距,当你真正的走上社会,才知道社会是什么,才知道没有学历找工作有多 ...
- gitlab markdown支持页面内跳转
markdown语法: [to_be_link](#id_name) 标题: ## 2.aaa <a name="id_name"></a> 参考: htt ...