1、需求概述

  • 每天00:00备份MySQL数据库数据;
  • 每一个库生成一个文件,使用gzip压缩,文件名:backup_库名_yyyymmdd.sql.gz,注意yyyymmdd需要是前一天;
  • 备份文件保存在/backup/mysql/下面,每天创建新的日备份数据目录yyyymmdd,注意是前一天
  • 日志保存在/backup/mysql/下面,命名方式为:yyyymmdd.log

2、环境准备

操作系统:CentOS release 6.5
MySQL数据:MySQL 5.1.73

3、脚本说明

  • 判断备份目录是否存在,如果不存在就创建;
  • 使用mysql命令获取全部数据库列表;
  • 遍历全部数据列表,使用mysqldump命令进行备份

4、脚本编写

 #!/bin/bash

 # log file name
LOG=/backup/mysql/$(date +%Y%m%d -d -1day).log # create backup directory
BACKUP_DIR=/backup/mysql/$(date +%Y%m%d -d -1day) if [ ! -d "${BACKUP_DIR}" ]; then
echo "create backup directory ${BACKUP_DIR}" >> $LOG
mkdir ${BACKUP_DIR}
fi # backup db data
for i in `mysql -uroot -p123456 -e "show databases;"`
do if [ "$i" != "Database" ]; then
echo "start backup $i" >> $LOG
mysqldump -uroot -p123456 -B "$i" --flush-privileges --single-transaction --master-data=2 --flush-logs --triggers --routines --events --hex-blob | gzip > ${BACKUP_DIR}/backup_"$i"_$(date +%Y%m%d -d -1day).sql.gz
echo "end backup $i" >> $LOG
fi done echo "end backup" >> $LOG

5、定时任务

 [root@xugf-test mysql]# crontab -e
* * * /bin/sh /root/scripts/db_backup.sh >/dev/null >&

需要把输出重定向到空

6、重点命令

前一天yyyymmdd

date +%Y%m%d -d -1day

gzip

cat install.log | gzip > install.log.gz

mysql命令查询所有库

mysql -uroot -p123456 -e "show databases;"

mysqldump命令备份数据库

mysqldump -uroot -p123456 -B test --flush-privileges --single-transaction --master-data= --flush-logs --triggers --routines --events --hex-blob | gzip > /backup/mysql//backup_test_20180515.sql.gz

MySQL分库备份的更多相关文章

  1. MySQL分库备份与分表备份

    MySQL分库备份与分表备份 1.分库备份 要求:将mysql数据库中的用户数据库备份,备份的数据库文件以时间命名 脚本内容如下: [root@db01 scripts]# vim backup_da ...

  2. MySQL 分库备份

    mysql -uroot -p'password' -e "show databases;"|grep -Evi "database|infor|perfor" ...

  3. 分享一个MySQL分库分表备份脚本(原)

    分享一个MySQL分库备份脚本(原) 开发思路: 1.路径:规定备份到什么位置,把路径(先判断是否存在,不存在创建一个目录)先定义好,我的路径:/mysql/backup,每个备份用压缩提升效率,带上 ...

  4. MySQL分库分表备份脚本

    MySQL分库备份脚本 #脚本详细内容 [root@db02 scripts]# cat /server/scripts/Store_backup.sh #!/bin/sh MYUSER=root M ...

  5. mysql数据库分库备份脚本

    mysql数据库分库备份脚本 版本1 for dbname in `mysql -uroot -poldboy123 -e "show databases;" |grep -Evi ...

  6. 6:7 题一起MySQL数据库分库备份

    企业Shell面试题6:MySQL数据库分表备份 请实现对MySQL数据库进行分表备份,用脚本实现. 解答: [root@db01 scripts]# cat fenbiao.sh #!/bin/ba ...

  7. (转)企业Shell实战-MySQL分库分表备份脚本

    本文来自http://www.xuliangwei.com/xubusi/252.html 免费视频讲解见 http://edu.51cto.com/course/course_id-5064.htm ...

  8. Mysql数据库分库备份,分表备份

    分库备份 #!/bin/sh DBPATH=/server/backup MYUSER=root MYPASS=oldboy123 SOCKET=/data/3306/mysql.sock MYCMD ...

  9. MySQL的备份的一些策略和方法的总结

    1.一般使用的是mysqldump来进行备份,每次dump的数据是1000条,并且在这个过程中会进行锁表. (这种方式是逻辑备份,即直接将数据库中的数据导成sql语句进行备份的过程) 主要的使用方法: ...

随机推荐

  1. mysql 存储过程 REPEAT ... UNTIL ... END REPEAT

    begin   declare  b int;   declare  use_no    varchar(10);   declare  use_name  varchar(400);   decla ...

  2. 梯形法求解常微分方程(c++)

    #include<iostream> #include<iomanip> using namespace std; int main() { double x,y,yn,h,t ...

  3. Win10系统下安装ubuntu16.04双系统-常见问题解答

    Win10系统下安装ubuntu16.04双系统-常见问题解答 1. 安装ubuntu16.04.2系统 磁盘分区形式有两种:GPT和MBR,关系到设置引导项.在win10下压缩出500GB空间给ub ...

  4. 【软工实践】Beta冲刺(4/5)

    链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 新增数据分析展示等功能API 服务器后端部署,API接口的beta版实现 展示 ...

  5. THOR: Tracking Holistic Object Representations

    THOR: Tracking Holistic Object Representations BMVC 2019 Oral 2019-08-04 10:30:09 Paper: https://arx ...

  6. Spring cloud微服务安全实战-7-4整合SpringBoot和Prometheus

    pom文件里面加两个依赖.让SpringBoot暴露出一些断点. 在actuator的机制上面加一些prometheus的端点,暴露出来给prometheus可以识别的数据, 配置文件配置. 要暴露的 ...

  7. Java8 Stream流方法

    流是Java API的新成员,它允许以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现).就现在来说,可以把它们看成遍历数据集的高级迭代器.此外,流还可以透明地并行处理,无需写任何多 ...

  8. openstack-keystone外组件命令行

    摘自openstack文档 镜像(glance) 列出您可以访问的镜像 $ openstack image list 删除指定的镜像 $ openstack image delete IMAGE 描述 ...

  9. jquery json对象转换

    jquery json对象转换 <pre>//json数组转json串var arr = [1,2,3, { a : 1 } ];JSON.stringify( arr ); //json ...

  10. Block chain 1_The Long Road to Bitcoin

    The path to Bitcoin is littered with the corpses of failed attempts. I've compiled a list of about a ...