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. ranger整合kerberos

    一.生成主体 在kerberos服务器生成用于ranger的用户主体: # kadmin.local addprinc -randkey HTTP/manager1@HADOOP.COM addpri ...

  2. Spring Cloud Eureka源码分析 --- client 注册流程

    Eureka Client 是一个Java 客户端,用于简化与Eureka Server的交互,客户端同时也具备一个内置的.使用轮询负载算法的负载均衡器. 在应用启动后,将会向Eureka Serve ...

  3. 以SQL命令方式调用存储过程

    string str = "Data Source=.;Initial Catalog=***;Integrated Security=True"; using (SqlConne ...

  4. GIS地理工具案例教程——批量合并影像-批量镶嵌栅格

    GIS地理工具案例教程--批量合并影像-批量镶嵌栅格 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com 关键词:批量.迭代.循环.自动.智能.地理 ...

  5. typescript - 8.命名空间

    基础 略. https://www.tslang.cn/docs/handbook/namespaces.html 多文件中的命名空间(一个文件分解为几个) 现在,我们把Validation命名空间分 ...

  6. Flutter UI系统

    我们可以看到,无论是Android SDK还是iOS的UIKit 的职责都是相同的,它们只是语言载体和底层的系统不同而已.那么可不可以实现这么一个UI系统:可以使用同一种编程语言开发,然后针对不同操作 ...

  7. RabbitMQ整合Spring Booot【点对点模式】

    pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www. ...

  8. matlab学习笔记10_5 通用字符串操作和比较函数

    一起来学matlab-matlab学习笔记10 10_5 通用字符串操作和比较函数 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张 ...

  9. springboot:redis反序列化发生类型转换错误

    明明是同一个类,在反序列时报类型转换错误,真实奇怪.经查找资料,说是引入了devtools的缘故. 注释掉以下内容: <dependency> <groupId>org.spr ...

  10. [LeetCode] 452. Minimum Number of Arrows to Burst Balloons 最少箭数爆气球

    There are a number of spherical balloons spread in two-dimensional space. For each balloon, provided ...