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语句进行备份的过程) 主要的使用方法: ...
随机推荐
- 【Tensorflow】tf.nn.depthwise_conv2d如何实现深度卷积?
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/mao_xiao_feng/article/ ...
- 单细胞数据整合方法 | Comprehensive Integration of Single-Cell Data
操作代码:https://satijalab.org/seurat/ 依赖的算法 CCA CANONICAL CORRELATION ANALYSIS | R DATA ANALYSIS EXAMPL ...
- 配置mongo.conf文件
配置mongo.conf文件,优化mongod.exe的启动 在d:/Develop/MongoDB目录下创建mongo.conf文件并写入: dbpath=d:\Develop\MongoDB\ ...
- Tomcat中加载不到项目 项目构建Deployment Assembly报错:The given project is not a virtual component project
转: The given project is not a virtual component project The given project is not a virtual compone ...
- 【Linux】walle 部署上线单报错:mv: cannot overwrite directory ‘/www’ with non-directory
错误截图 问题分析:项目设置中. 目标集群部署路径错误, 举例: 假设你 项目名称:laofan 在目标服务器的路径: /www/wwwdata/laofan 那么你在标集群部署路径 就可以写: /w ...
- mysql 某表某列支持 emoji
ALTER TABLE `customer_user` MODIFY COLUMN `UserName` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8 ...
- 持久化机器学习模型(joblib方式)
import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression ...
- [LeetCode] 169. Majority Element 多数元素
Given an array of size n, find the majority element. The majority element is the element that appear ...
- ThinkPHP5.1的数据库链接和增删改查
一.数据库的链接方式 <?phpnamespace app\index\controller;use think\Db; class Demo{//1.全局配置 config/database. ...
- [资料]ObjectARX 2020参考指南翻译中文版
chm使用Google Chrome浏览器翻译,有些翻译不是很理想,因为2万5千多个html文件, 修正难度太大,所以只处理了一部分. 非常感谢 gzxl 辛苦肉眼修正一些翻译问题. 欢迎进入QQ群: ...