mwjhw216 发表于 2018-10-2 13:47:14

mysql增量备份与恢复实战

  备份:
  mysqldump -uroot -p** -A -B -F --master-data=2 --single-transaction--events > /root/all.sql
  恢复:
  mysql -uroot -pVaren2100* < /root/all.sql
  利用binlog日志进行增量恢复


  利用位置恢复:
  mysqlbinlog --start-position=&quot;154&quot; --stop-position=&quot;789694&quot; /var/lib/mysql/mysql-bin.000002 | mysql -uroot -p***
  bin-log指定恢复数据库

  分库备份:
  #!/bin/sh
  BACKPATH=/root/gool/backup
  MYUSER=root
  MYPASS=gool
  MYCMD=&quot;mysql -u$MYUSER -p$MYPASS&quot;
  MYDUMP=&quot;mysqldump -u$MYUSER -p$MYPASS -x -B -F -R&quot;
  [ ! -d $BACKPATH ] && mkdir -p $BACKPATH
  DBLIST=`$MYCMD -e &quot;show databases;&quot;|sed 1d|egrep -v &quot;_schema|mysql|sys&quot;`
  for dbname in $DBLIST
  do
  $MYDUMP $dbname|gzip > /root/gool/backup/${dbname}_$(date +%F).sql.gz
  done
  分库分表备份:
  #!/bin/sh
  BACKPATH=/root/gool/backup
  MYUSER=root
  MYPASS=gool
  MYCMD=&quot;mysql -u$MYUSER -p$MYPASS&quot;
  MYDUMP=&quot;mysqldump -u$MYUSER -p$MYPASS -x -F -R&quot;
  [ ! -d $BACKPATH ] && mkdir -p $BACKPATH
  DBLIST=`$MYCMD -e &quot;show databases;&quot;|sed 1d|egrep -v &quot;_schema|mysql|sys&quot;`
  for dbname in $DBLIST
  do
  TBLIST=`$MYCMD -e &quot;show tables from $dbname;&quot;|sed 1d`
  for tablename in $TBLIST
  do
  mkdir -p $BACKPATH/$dbname
  $MYDUMP $dbname $tablename |gzip > $BACKPATH/${dbname}/${tablename}_$(date +%F).sql.gz
  done
  done

页: [1]
查看完整版本: mysql增量备份与恢复实战