MySQL分库备份
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分库备份的更多相关文章
- MySQL分库备份与分表备份
MySQL分库备份与分表备份 1.分库备份 要求:将mysql数据库中的用户数据库备份,备份的数据库文件以时间命名 脚本内容如下: [root@db01 scripts]# vim backup_da ...
- MySQL 分库备份
mysql -uroot -p'password' -e "show databases;"|grep -Evi "database|infor|perfor" ...
- 分享一个MySQL分库分表备份脚本(原)
分享一个MySQL分库备份脚本(原) 开发思路: 1.路径:规定备份到什么位置,把路径(先判断是否存在,不存在创建一个目录)先定义好,我的路径:/mysql/backup,每个备份用压缩提升效率,带上 ...
- MySQL分库分表备份脚本
MySQL分库备份脚本 #脚本详细内容 [root@db02 scripts]# cat /server/scripts/Store_backup.sh #!/bin/sh MYUSER=root M ...
- mysql数据库分库备份脚本
mysql数据库分库备份脚本 版本1 for dbname in `mysql -uroot -poldboy123 -e "show databases;" |grep -Evi ...
- 6:7 题一起MySQL数据库分库备份
企业Shell面试题6:MySQL数据库分表备份 请实现对MySQL数据库进行分表备份,用脚本实现. 解答: [root@db01 scripts]# cat fenbiao.sh #!/bin/ba ...
- (转)企业Shell实战-MySQL分库分表备份脚本
本文来自http://www.xuliangwei.com/xubusi/252.html 免费视频讲解见 http://edu.51cto.com/course/course_id-5064.htm ...
- Mysql数据库分库备份,分表备份
分库备份 #!/bin/sh DBPATH=/server/backup MYUSER=root MYPASS=oldboy123 SOCKET=/data/3306/mysql.sock MYCMD ...
- MySQL的备份的一些策略和方法的总结
1.一般使用的是mysqldump来进行备份,每次dump的数据是1000条,并且在这个过程中会进行锁表. (这种方式是逻辑备份,即直接将数据库中的数据导成sql语句进行备份的过程) 主要的使用方法: ...
随机推荐
- 如何更改sdk版本
- 梯度裁剪(Clipping Gradient):torch.nn.utils.clip_grad_norm
torch.nn.utils.clip_grad_norm_(parameters, max_norm, norm_type=2) 1.(引用:[深度学习]RNN中梯度消失的解决方案(LSTM) ) ...
- Linux设置开机挂载
Linux可不可以在开机的时候就将我们要的文件系统都挂载好?这样就不需要每次进入Linux系统还要挂载一次.当然可以,那就直接到/etc/fstab里面去修改. 系统挂载的一些限制: - 根目录/是必 ...
- 为什么Map桶中个数超过8才转为红黑树
这是笔者一个好友面试阿里时,被问及的一个问题,应该不少人看到这个问题都会一面懵逼.因为,大部分的文章都是分析链表是怎么转换成红黑树的,但是并没有说明为什么当链表长度为8的时候才做转换动作.笔者第一反应 ...
- 剑指offer:扑克牌顺子
题目描述: LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他 ...
- 【mybatis源码学习】mybatis的sql语句映射
一.重要的接口和类 org.apache.ibatis.scripting.LanguageDriver //语言驱动org.apache.ibatis.scripting.xmltags.XMLLa ...
- webconfig 配置 分离
https://blog.csdn.net/zhifeiya/article/details/38828711 如标题,如何把 asp.net webconfig的appSettings分离到单独文件 ...
- linux环境中,openssl升级及openresty中nginx基于新版本openssl重新编译
需求说明: 最近在对系统进行安全扫描的时候,出现了openssl版本的问题,建议对openssl版本进行升级,在此记录下升级过程. 环境说明: 操作系统:RHEL 6.6 升级操作过程: 1.下载最新 ...
- linux,卸载文件系统的时候,报busy情况的解决记录
背景描述: 前几天由于文件系统io异常的问题,要对文件系统的属性进行修改,修改该参数需要将磁盘umount,在umount的过程中遇到问题,在此记录下. 处理过程: 1.执行umount进行卸载磁盘, ...
- [译]如何在红帽系统(RHEL)上源码安装python3?
原文来源: https://stackoverflow.com/questions/8087184/installing-python-3-on-rhel 很容易手动安装. 1.下载对应的python ...