MySQL分库备份

  

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

,,下面直接上脚本

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

# !/bin/bash   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   #,美元的名字:,,,,,,,,Store_backup.sh   #,美元版本:,,,,,v1.0   作者:美元#,,,,,,,,邱月涛   #,组织:美元,www.yi * * * * * * . cn   #,Create 美元;日期:2017-06-03   #,描述:美元,,MySQL  store  Backup    #用于MySQL 分库备份,并保留30天数据   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   # source /etc/摆在/功能   一天=' date  + % F '   BACK_DIR="/home/备份/mysqlbackup”   dbus="根"   DBPASSWD="你自己的密码”   BIN_PATH="/usr/bin "   日志="/home/备份/mysqlbackup/mysqlback.log”   # #,Close  all  tables 以及refresh  log  # # # #   " $ BIN_PATH "/mysql  -u “dbus美元”,- p“DBPASSWD美元”,-e “flush 日志”   # " $ BIN_PATH "/mysql  -u “dbus美元”,- p“DBPASSWD美元”,-e “flush  tables  with  read 锁”   echo “mysqldump  start  date  + % F \, H \ %: % M \: % S’”,在祝辞,“美元日志”   # #,Each  backup  database 用,target 位置;# # # #   for 小姐:“拷贝”BIN_PATH“美元/mysql  -u “dbus美元”,- p“DBPASSWD美元”,-e “show 数据库”,| grep  -vE “数据库| information_schema””   ,做的   ,,,,,,,if [!大敌;-d “BACK_DIR美元”/拔摇泵涝?];然后   ,,,,,,,,,,,,,,,mkdir  -p ,“$ BACK_DIR "/" $我”   ,,,,,,,,,fi   " $ BIN_PATH "/mysqldump  -u “dbus美元”,- p“DBPASSWD美元”,——default-character-set=utf8 ——opt ——lock-tables  -f ——日志错误=" $日志",“我美元”,祝辞,“BACK_DIR美元”/拔摇泵涝?天美元. sql   ,才能完成   echo “mysqldump  stop  date  + % F \, H \ %: % M \: % S’”,在祝辞,“美元日志”   echo ”“,在在“美元日志”   # #,Delete  30, days  ago  backup  files  # # # #   for  RM 拷贝”BIN_PATH“美元/mysql  -u “dbus美元”,- p“DBPASSWD美元”,-e “show 数据库”,| grep  -vE “数据库| information_schema””   ,才能做   rm  -rf “BACK_DIR美元”/癛M”美元/$ (date  + % F ——日期=30,days 前). sql   做,,,

效果如下:

[root@files  mysqlbackup] #, tree  -L  1,/home/备份/mysqlbackup/home/backup/mysqlbackup   ├──,luence   ├──,主诉   ├──,h   ├──我的   ├──mysql   ├──mysqlback.log   ├──ypp   └──,,t

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

[root@files  mysqlbackup] #, crontab  - l   0,,4,*,*,*,/根/壳/mysqlbackup。sh


MySQL分库备份