博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL分库备份
阅读量:5077 次
发布时间:2019-06-12

本文共 1667 字,大约阅读时间需要 5 分钟。

 

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、脚本编写

1 #!/bin/bash 2  3 # log file name 4 LOG=/backup/mysql/$(date +%Y%m%d -d -1day).log 5  6 # create backup directory 7 BACKUP_DIR=/backup/mysql/$(date +%Y%m%d -d -1day) 8  9 if [ ! -d "${BACKUP_DIR}" ]; then10         echo "create backup directory ${BACKUP_DIR}" >> $LOG11         mkdir ${BACKUP_DIR}12 fi13 14 15 # backup db data16 for i in `mysql -uroot -p123456 -e "show databases;"`17 do18 19         if [ "$i" != "Database" ]; then20                 echo "start backup $i" >> $LOG21                 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.gz22                 echo "end backup $i" >> $LOG23         fi24 25 done26 27 echo "end backup" >> $LOG

 

5、定时任务

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

 

需要把输出重定向到空

 

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=2 --flush-logs --triggers --routines --events --hex-blob | gzip > /backup/mysql/20180515/backup_test_20180515.sql.gz

 

转载于:https://www.cnblogs.com/xugf/p/9073974.html

你可能感兴趣的文章
动态规划算法之最大子段和
查看>>
linux c:关联变量的双for循环
查看>>
深入浅出理解zend framework(三)
查看>>
python语句----->if语句,while语句,for循环
查看>>
javascript之数组操作
查看>>
LinkedList源码分析
查看>>
TF-IDF原理
查看>>
用JS制作博客页面背景随滚动渐变的效果
查看>>
JavaScript的迭代函数与迭代函数的实现
查看>>
一步步教你学会browserify
查看>>
Jmeter入门实例
查看>>
亲近用户—回归本质
查看>>
中文脏话识别的解决方案
查看>>
CSS之不常用但重要的样式总结
查看>>
Python编译错误总结
查看>>
URL编码与解码
查看>>
日常开发时遇到的一些坑(三)
查看>>
Eclipse 安装SVN插件
查看>>
深度学习
查看>>
TCP粘包问题及解决方案
查看>>