MySQL分库备份
admin
2023-05-18 14:02:19
0

公司一直是全备+binlog,但是如果单个库出现问题怎么办,在进行完整恢复的话,第一会耽误时间,第二会影响其它数据库,第三如果数据量大,对于库的恢复也是问题,所以我提出了,除了全备,还要做分库备份,只要更灵活,出现问题,直接恢复单库(方便、快捷)

   下面直接上脚本

1,将MySQL自带库外的其他库进行备份

#!/bin/bash
#---------------------------------------------------------
# $Name:         Store_backup.sh
# $Version:      v1.0
# $Author:       邱月涛
# $organization: www.yi******.cn
# $Create Date:  2017-06-03
# $Description:  MySQL store Backup 
#用于MySQL 分库备份,并保留30天数据
#---------------------------------------------------------
#source /etc/init.d/functions
DAY=`date +%F`
BACK_DIR="/home/backup/mysqlbackup"
DBUSER="root"
DBPASSWD="你自己的password"
BIN_PATH="/usr/bin"
LOG="/home/backup/mysqlbackup/mysqlback.log"
## Close all tables and refresh log ####
"$BIN_PATH"/mysql -u "$DBUSER" -p"$DBPASSWD" -e "flush logs"
#"$BIN_PATH"/mysql -u "$DBUSER" -p"$DBPASSWD" -e "flush tables with read lock"
echo "mysqldump start `date +%F\ %H\:%M\:%S`" >> "$LOG"
## Each backup database to the target location ####
for i in `"$BIN_PATH"/mysql -u "$DBUSER" -p"$DBPASSWD" -e "show databases" |grep -vE "Database|information_schema"`
  do
        if [ ! -d "$BACK_DIR"/"$i" ]; then
                mkdir -p  "$BACK_DIR"/"$i"
           fi
"$BIN_PATH"/mysqldump -u "$DBUSER" -p"$DBPASSWD" --default-character-set=utf8 --opt --lock-tables -f --log-error="$LOG" "$i" > "$BACK_DIR"/"$i"/"$DAY".sql
   done
echo "mysqldump stop `date +%F\ %H\:%M\:%S`" >> "$LOG"
echo "" >>"$LOG"
## Delete 30 days ago backup files ####
for RM in `"$BIN_PATH"/mysql -u "$DBUSER" -p"$DBPASSWD" -e "show databases" |grep -vE "Database|information_schema"`
   do
rm -rf "$BACK_DIR"/"$RM"/$(date +%F --date='30 days ago').sql
    done

效果如下:

[root@files mysqlbackup]# tree -L 1 /home/backup/mysqlbackup
/home/backup/mysqlbackup
├──  luence
├──  hpi
├──  h
├── my
├── mysql
├── mysqlback.log
├── ypp
└──  tao

将脚本加入crontab定时任务即可;

[root@files mysqlbackup]# crontab -l
0  4 * * * /root/shell/mysqlbackup.sh


相关内容

热门资讯

浙江宣传评文艺圈“塌房”:人品... 近几年来,文艺圈人品“塌房”事件屡有发生,从言行失范、私德有亏到违法犯罪,当创作者的德行有了污点,其...
伊朗看到了美国的3个软肋 全世界现在哭笑不得。刚扬言要狠狠打击伊朗,打击伊朗的能源基础设施,甚至感觉迫在眉睫、必须要打、不打不...
接连反转!特朗普透露三个信息 特朗普称美伊3日将举行谈判。美国总统特朗普当地时间8月2日,美国总统特朗普谈及伊朗时称,关于霍尔木兹...
河南深夜通报:查实作弊 针对近期备受关注的2026年河南省“三支一扶”计划招募相关舆情,河南省“三支一扶”领导小组协调办公室...
高通机器人演示翻车,DeepM... 人形机器人领域正呈现出截然不同的两面性。一端是高通(Qualcomm)机器人的尴尬演示:在展示搭载最...
小米多款主力手机涨价,店员:很... 8月2日,小米商城显示,多款手机主力机型价格上调300元至500元不等。其中,REDMI Turbo...
主持人陈璇采访《奥德赛》主创人... 诺兰新片《奥德赛》周四举行北京首映礼,上海外语频道主持人陈璇采访外籍主创人员时半蹲弯腰,背对镜头,向...
初创公司推Arm架构AI服务器... 由前谷歌和Meta工程师于2023年创立的Majestic Labs,近日发布了一款旨在挑战英伟达G...
日元跌跌不休,美国罕见出手,外... 【环球时报驻日本特约记者 王军】在日元跌至近40年来最低水平后,日本政府和日本银行连续出手干预汇市,...
特朗普再提珍珠港事件 据朝日电视台8月3日报道,美国总统特朗普表示,美国政府出手买入日元实施汇率干预,目的是帮扶日本。2日...