使用mysqldump實現全備,增備的腳本

更多博文請關注:沒有傘的孩子必須努力奔跑 (www.xuchanggang.cn)mysql

mysqldump實現增備,其實就是複製日誌sql

全備腳本:bash

#! /bin/bashapp

# mysql 全量備份腳本,建議在slave上運行,並開啓log_slave_updates=1ide

mkdir /backupspa

cd /backup日誌

datadir=`date +"%y-%m-%d"`orm

mkdir -p $datadir/dataip

path=/usr/local/mysql/dataci

for i in `mysql -uroot -p123456 -e "show databases" |grep  -v "Database"`

do

  mysqldump -uroot -p123456 --defaultes-character-set=utf8 -q --lock-all-tables --flush-logs -E -R --triggers -B $i |gzip > /backup/$datadir/data/${i}_${datadir}.sql.gz

  #mysqldump -uroot -ptiancity --opt --single-transaction  --flush-logs -E -R -C --triggers  $i |gzip > "/backup/$datadir/data/${i}_${datadir}.sql.gz"

done

binlog_rm=`tail -n 1 /app/mysql/data/mysql-bin.index |sed 's/\/app\/mysql\/data\///'`

mysql -uroot -p123456 -e "purge binary logs to '$binlog_rm'"

增備腳本:

#! /bin/bash

# mysql 增量備份腳本,其實就是複製二進制日誌,

cd /backup

datadir=`date +"%y-%m-%d"`

mkdir -p $datadir/data

path=/usr/local/mysql/data

mysqladmin -uroot -p12334 flush-logs

# mysql -uroot -p12334 -e "flush logs"

binlog_cp=`head -n -1 $path/mysql-bin.index |sed 's/\/app\/mysql\/data\///'`

for  i in $binlog_cp

do

   cp $path/$i /backup/$datadir/data/

done

binlog_rm=`tail -n 1 /app/mysql/data/mysql-bin.index |sed 's/\/app\/mysql\/data\///'`

mysql -uroot -p12334 -e "purge binary logs to '$binlog_rm'"

相關文章
相關標籤/搜索