企业完全备份脚本

[root@client ~]# vim /opt/mysql_bak_wanbei.sh

#!/bin/bash

#MySQL数据库完全备份脚本

#设置登录变量

MY_USER="root"

MY_PASS="123456"

MY_HOST="localhost"

MY_CONN="-u$MY_USER -p$MY_PASS -h$MY_HOST"

#设置备份的数据库(或表)

MY_DB="client"

#定义备份路径、工具、时间、文件名

BF_DIR="/mysql_bak/wanbei"

BF_CMD="/usr/local/bin/mysqldump"

BF_TIME=$(date +%Y%m%d-%H:%M)

NAME="$MY_DB-$BF_TIME"

#备份为.sql脚本,然后打包压缩(打包后删除原文件)

[ -d $BF_DIR ] || mkdir -p $BF_DIR

cd $BF_DIR

$BF_CMD $MY_CONN --databases $MY_DB > $NAME.sql

#可打包,下面是打包方式,我这里用的是.sql

#/bin/tar zcf $NAME.tar.gz $NAME.sql --remove &> /dev/null

完全备份恢复命令

Mysql -uroot -p123456 < /mysql_bak/wanbei/client-20190528-21:36.sql

企业增量备份脚本

友情提示:我这里是用源码安装的mysql,变量CMD/LOG_DIR的路径和mariadb的路径不同

要先which查看绝对路径,不然脚本执行不了

注意这里需要开启二进制日志,执行计划任务对日志进行每天晚上的切割做增量备份,切割的日志都是0点之前的,也就是昨天的

Vim /etc/my.cnf

[mysqld]

datadir=/usr/local/mysql/data

socket=/tmp/mysql.sock

character-set-server=utf8

server-id = 1

log-bin=mysql-bin

log-slave-updates=true

[root@client ~]# vim /opt/mysql_bak_zengbei.sh

#!/bin/bash

#MySQL数据库增量备份脚本

#设置登录变量

MY_USER="root"

MY_PASS="123456"

MY_HOST="localhost"

MY_CONN="-u$MY_USER -p$MY_PASS -h$MY_HOST"

#定义备份路径、工具、二进制日志前缀、二进制日志存放路径

BF_TIME="$(date +%Y%m%d)"

BF_DIR="/mysql_bak/zengbei/$BF_TIME"

CMD="/usr/local/bin/mysqladmin"

QZ="mysql-bin"

LOG_DIR="/usr/local/mysql/data"

#拷贝二进制日志

[ -d $BF_DIR ] || mkdir -p $BF_DIR

$CMD $MY_CONN flush-logs

#打印并保存昨天的二进制日志,因为需要写计划任务,所以是0点之前生成的

/bin/cp -p $(ls /usr/local/mysql/data/mysql-bin* |awk -v RS="" '{print $(NF-2)}') $BF_DIR

[root@client opt]# chmod +x /opt/mysql_bak_*

执行每天晚上凌晨进行增量备份,每周一进行一次完全备份

进行增量备份日志恢复用以下命令

[root@tomcat2 20190529]# mysqlbinlog --no-defaults /mysql_bak/zengbei/20190531/mysql-binlog.000009

| mysql -u root -p123456

mysql: [Warning] Using a password on the command line interface can be insecure.

[root@client ~]# crontab -e

0    0     *     *     1   /opt/mysql_bak_wanbei.sh

0    0     *     *     2-7 /opt/mysql_bak_zengbei.sh

企业级mysql数据库完全备份、增量备份脚本的更多相关文章

  1. MySQL数据库如何实现增量备份

    1 .通过SHOW VARIABLES LIKE '%log_bin%';查看数据库是否开启增量备份log_bin=ON则为开启log_bin=OFF则为关闭 2 .修改mysql配置文件mysql. ...

  2. mysql全量和增量备份详解(带脚本)

    在日常运维工作中,对mysql数据库的备份是万分重要的,以防在数据库表丢失或损坏情况出现,可以及时恢复数据. 下面对这种备份方案详细说明下:1.MySQLdump增量备份配置执行增量备份的前提条件是M ...

  3. centos6.5环境通过shell脚本备份php的web及mysql数据库并做远程备份容灾

    centos6.5环境通过shell脚本备份php的web及mysql数据库并做远程备份容灾 系统:centos6.5 1.创建脚本目录 mkdir -p /usr/local/sh/ 创建备份web ...

  4. 在线热备份数据库之innobackupex 增量备份InnoDB

    在线热备份数据库之innobackupex 增量备份InnoDB 什么是增量备份?其原理是什么? 增量备份是基于上一次备份后对新增加的内容进行备份,优点相较于完整备份而言备份内容少时间短,能够节省磁盘 ...

  5. MySQL和MSSQL差异(增量)备份的原理

    MySQL和MSSQL差异(增量)备份的原理 对于真正的增量备份来说,只需要记录当前每页最后的检查点的LSN,如果大于之前全备时的LSN,则备份该页面,否则不用备份 这大大加快了备份速度和恢复时间,同 ...

  6. canal —— 阿里巴巴mysql数据库binlog的增量订阅&消费组件

    阿里巴巴mysql数据库binlog的增量订阅&消费组件canal ,转载自  https://github.com/alibaba/canal 最新更新 canal QQ讨论群已经建立,群号 ...

  7. 原创|高逼格企业级MySQL数据库备份方案,原来是这样....

    很多人,这里说的是运维工程师们,一提到写某某方案,很是头疼.不是上某度一统搜索,就是同样一句话在N个群全部群发一遍:“有没有某某方案,可以共享一下的吗??求助,各位大佬们”,估计十有八九,全部石沉大海 ...

  8. 高逼格企业级MySQL数据库备份方案,原来是这样....

    很多人,这里说的是运维工程师们,一提到写某某方案,很是头疼.不是上某度一统搜索,就是同样一句话在N个群全部群发一遍:“有没有某某方案,可以共享一下的吗??求助,各位大佬们”,估计十有八九,全部石沉大海 ...

  9. mysql数据库每个表的备份脚本

    对mysql数据库中的每张表进行按日期备份,思想是:先把每张表的表名取出取出,然后通过for循环去对每个表进行按日期备份 [root@ZFVM-APP-- backup]# vim dataname. ...

随机推荐

  1. Redis总结(五)缓存雪崩和缓存穿透等问题 Web API系列(三)统一异常处理 C#总结(一)AutoResetEvent的使用介绍(用AutoResetEvent实现同步) C#总结(二)事件Event 介绍总结 C#总结(三)DataGridView增加全选列 Web API系列(二)接口安全和参数校验 RabbitMQ学习系列(六): RabbitMQ 高可用集群

    Redis总结(五)缓存雪崩和缓存穿透等问题   前面讲过一些redis 缓存的使用和数据持久化.感兴趣的朋友可以看看之前的文章,http://www.cnblogs.com/zhangweizhon ...

  2. 2015:WPS笔试-Android开发岗位

    题目一共三道: 一:实现一个函数,能够推断两条直线的关系:平行.重合.垂直或相交. 二:实现一个函数.能够得到随意两个日期的相隔天数. 三:针对题目一或题目二,实现一个完整的单元測试. (笔试后在网上 ...

  3. 【转】Linux 查看CPU信息、机器型号等硬件信息

    测试机器的硬件信息: 查看CPU信息(型号) # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c       8  Intel(R) Xeo ...

  4. 一看就懂系列之 由浅入深聊一聊php的垃圾回收机制

    前言 是的,平时经常听到大牛说到的gc,就是垃圾回收器,全称Garbage Collection. 早期版本,准确地说是5.3之前(不包括5.3)的垃圾回收机制,是没有专门的垃圾回收器的.只是简单的判 ...

  5. research plan2222

    Thank you for calling. I've been looking forward to this call for a long time.Now, let me introduce ...

  6. Android 使用MediaRecorder录音调用stop()方法的时候报错【转】

    本文转载自:http://blog.csdn.net/u014737138/article/details/49738827 这个问题在网上看到了太多的答案,一直提示说按照官网的api的顺序来,其实解 ...

  7. 解决无线网卡 RTL8723BE ubuntu环境下不稳定情况

    jiqing@ThinkPad:~$ lspci | grep -i net 00:19.0 Ethernet controller: Intel Corporation Ethernet Conne ...

  8. js 得到 radiobuttonlist和CheckBoxList 选中值

    js 得到 radiobuttonlist和CheckBoxList 选中值 得到radiobuttonlist 选中值:var CheckBoxList=document.all.optButton ...

  9. openstack liberty aio nova 调试

  10. 【WIP】Rails Client Side Document

    创建: 2017/09/15 更新: 2019/04/14 删除其他语言的表述 更新: 2017/10/14 标题加上[WIP]  引入JavaScrpit/CSS  manifesto  n. 货单 ...