shell---mysql备份

#!/bin/bash
#File: mysql_backup.sh
#Date 2016-1-9

BACKDES=/data/msyql_back/`date +%Y-%m-%d`     //创建存放备份数据的目录
BACKNAME=`date +%Y-%m-%d`     //备份时取名,可以省略
DATABASE=test      //备份的数据库
MYSQLUSER=root     //备份时的用户名
#MYSQLSEC=         //备份时的密码,考虑安全,一般手动输入

if [ $UID -ne 0 ] ; then     //此段if语句,表示必须使用root用户备份
        echo " You must use root to backup!"
        sleep 2
        exit
fi

if [ ! -d $BACKDES ] ; then      //此段if语句,表示存放数据的目录不存在就创建
        mkdir -p $BACKDES
else
        echo "This dir exists."
fi

cd $BACKDES && /usr/bin/mysqldump -u $MYSQLUSER -p -d $DATABASE > "$BACKNAME".sql     //进入到存放数据的目录中,在当前执行备份数据库的命令

if [ $? -le 0 ] ; then      //此段if语句表示上一条指令执行成功,则将.sql打包,并提示导出数据库成功
        tar -czvf "$BACKNAME".tar.gz "$BACKNAME".sql
        echo "$DATABASE check is successful!"
else
        echo "Checkout $DATABASE is not successful!"
fi

cd /data/msyql_back/ && find . -type d -mtime +10 -exec rm -rf {} \; && ls     //删除10天前的目录,并查看当前目录

if [ $? -le 0 ] ; then      //如果上一条执行成功,提示数据备份完成,否则提示有报错,需要检查。
        echo "Congratulations, the data package backup successful!"
else
        echo "Sorry, something error, must check it!"
fi
时间: 2024-10-29 01:07:02

shell---mysql备份的相关文章

web服务文件更新自动同步、数据库主从复制、shell脚本实现网站代码备份和mysql备份

基搭建LAMP环境,并实践基于DNS做基于域名的虚拟主机中的环境,重新搭建一个同样的环境 要求: a)实现web服务文件更新的自动同步到另一台机器上 b)数据库实现主从复制 c)通过shell脚本实现网站源代码备份和mysql备份,备份策略包括全量备份.增量备份.差异备份 a,实现web服务文件更新的自动同步到另一台机器上: 1,在httpd服务器上建立基于FQDN的两个虚拟web站点,并创建相关目录. 2,修改测试windows主机的hosts文件,并编辑两个虚拟web站点对应的目录下的ind

linux下shell编程之mysql备份(适合初学者)

1,shell常见变量解析: $0 当前脚本的名称 $n 当前脚本的第n个参数 $* 当前脚本的所有参数(不包括程序本身) $# 当前脚本的参数个数(不包括程序本身) $?命令或程序执行完成后的状态,一般返回0表示成功. $UID当前用户的ID $PWD当前所在的目录 -ne 不等于 -eq 等于 2,自动备份mysql脚本思路 ①,备份DB的命令 mysqldump -h127.0.0.1 -uroot -p123456 du >du_`date +%y%m%d`.sql ②,备份的机制 ③,

SHELL 自动备份MYSQL数据库(备份单个数据库及所有数据库)

SHELL 自动备份MYSQL数据库 备份单个数据库及所有数据库 楓城浪子原创,转载请标明出处! 更多技术博文请见个人博客:https://fengchenglangzi.000webhostapp.com 微信bh19890922 QQ445718526.490425557 部分截图: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657

mysql备份恢复详解

前言 为什么需要备份数据? 数据的备份类型 MySQL备份数据的方式 备份需要考虑的问题 设计合适的备份策略 实战演练 使用cp进行备份 使用mysqldump+复制BINARY LOG备份 使用lvm2快照备份数据 使用Xtrabackup备份 总结 前言 我们试着想一想, 在生产环境中什么最重要?如果我们服务器的硬件坏了可以维修或者换新, 软件问题可以修复或重新安装, 但是如果数据没了呢?这可能是最恐怖的事情了吧, 我感觉在生产环境中应该没有什么比数据跟更为重要. 那么我们该如何保证数据不丢

关系型数据库之Mysql备份(五)

二进制日志简要: 二进制日志通常作为备份的重要资源,所以再说备份之前我们来回顾下前面专题讲过的二进制日志内容. 1.二进制日志内容 引起mysql服务器改变的任何操作. 复制功能依赖于此日志. 从服务器通过主服务器的二进制日志完成主从复制,在执行之前保存于中继日志中. 从服务器通常可以关闭二进制日志以提升性能. 2.二进制文件的格式表现形式: 默认在安装目录下,存在mysql-bin.000001,mysql-bin.00002的二进制文件 另外还有mysql-bin.index用来记录被mys

MySQL备份之mysqldump和lvm2的使用

逻辑备份:工具 mysqldump, mydumper, phpMyAdmin(备份的缺点:Schema和数据存储一起.会生成巨大的SQL语句.单个巨大的备份文件)连上MySQL后,将数据导出来.考虑到备份的数据可能会比较大,在比较在乎硬盘空间情况下可以使用压缩工具来先压缩后存放. 完全备份并不是指备份所有库是指备份指定数据集当中的所有数据,通常也可以是单个数据库.完全备份+增量备份时,先用mysqldump做一下完全备份,过一个时间后,备份一下这个时间内的二进制日志(每次备份都记录一下位置二进

Mysql备份系列(2)--mysqldump备份(全量+增量)方案操作记录

在日常运维工作中,对mysql数据库的备份是万分重要的,以防在数据库表丢失或损坏情况出现,可以及时恢复数据. 线上数据库备份场景:每周日执行一次全量备份,然后每天下午1点执行MySQLdump增量备份. 下面对这种备份方案详细说明下:1.MySQLdump增量备份配置执行增量备份的前提条件是MySQL打开binlog日志功能,在my.cnf中加入log-bin=/opt/Data/MySQL-bin"log-bin="后的字符串为日志记载目录,一般建议放在不同于MySQL数据目录的磁盘

MySQL备份还原——AutoMySQLBackup介绍

AutoMySQLBackup是一个开源的MySQL备份脚本.可以说它是一个轻量级的备份方案,AutoMySQLBackup的安装.配置非常简单.方便.AutoMySQLBackup的sourceforge上介绍有如它本身,也非常的简单: Description AutoMySQLBackup with a basic configuration will create Daily, Weekly and Monthly backups of one or more of your MySQL

MySQL备份可能遇到的坑

MySQL备份工具,支持各种参数选项,使用不同的选项极有可能影响备份处理过程.本文使用我们常规认为合理的备份参数,测试/验证是否存在容易忽视的坑 # 常规备份参数 # mysqldump shell> mysqldump --single-transaction --master-data=2 -B replcrash >dbname_dump_serverid_`date +%Y%m%d`.sql # mysqlpump shell> mysqlpump --single-transa

(转)解锁MySQL备份恢复的4种正确姿势

本文根据DBAplus社群第104期线上分享整理而成. 原文:http://dbaplus.cn/news-11-1267-1.html 讲师介绍   冯帅 点融网高级DBA 分享大纲: 备份高于一切,今天汇总一下常用的几种备份方法,以及恢复的步骤. 一.mysqldump 在日常工作中,我们会使用mysqldump命令创建SQL格式的转储文件来备份数据库.或者我们把数据导出后做数据迁移,主备搭建等操作.mysqldump是一个逻辑备份工具,复制原始的数据库对象定义和表数据产生一组可执行的SQL