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="154" --stop-position="789694" /var/lib/mysql/mysql-bin.000002 | mysql -uroot -pVaren2100*

bin-log指定恢复数据库

分库备份:

#!/bin/sh

BACKPATH=/root/gool/backup

MYUSER=root

MYPASS=gool

MYCMD="mysql -u$MYUSER -p$MYPASS"

MYDUMP="mysqldump -u$MYUSER -p$MYPASS -x -B -F -R"

[ ! -d $BACKPATH ] && mkdir -p $BACKPATH

DBLIST=`$MYCMD -e "show databases;"|sed 1d|egrep -v "_schema|mysql|sys"`

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="mysql -u$MYUSER -p$MYPASS"

MYDUMP="mysqldump -u$MYUSER -p$MYPASS -x -F -R"

[ ! -d $BACKPATH ] && mkdir -p $BACKPATH

DBLIST=`$MYCMD -e "show databases;"|sed 1d|egrep -v "_schema|mysql|sys"`

for dbname in $DBLIST

do

TBLIST=`$MYCMD -e "show tables from $dbname;"|sed 1d`

for tablename in $TBLIST

do

mkdir -p $BACKPATH/$dbname

$MYDUMP $dbname $tablename |gzip > $BACKPATH/${dbname}/${tablename}_$(date +%F).sql.gz

done

done

时间: 2024-10-08 00:43:43

mysql增量备份与恢复实战的相关文章

MySQL增量备份与恢复实例【转】

小量的数据库可以每天进行完整备份,因为这也用不了多少时间,但当数据库很大时,就不太可能每天进行一次完整备份了,这时候就可以使用增量备份.增量备份的原理就是使用了mysql的binlog日志.本次操作的MySQL版本为5.5.40 for Linux (x86_64). 增量备份要确保打开了二进制日志,参考mysql的日志系统: mysql> show variables like '%log_bin%'; 首先对pak数据库做一个完整备份: $ mysqldump -h localhost -u

MySQL增量备份与恢复

MySQL增量备份与恢复 技能目标 理解MySQL增量备份的概念 理解MySQL增量备份与恢复的方法 1:增量备份的概念 完全备份每次把所有文件全部备份一边占用空间较大,增量备份就解决了这一问题它可以在你完全备份后如果做了修改或者需要备份的文件不大就用增量备份去解决这一问题 2:增量备份的特点 (1)二进制文件保存了所有更新或者可能更新数据库操作 (2)二进制文件在启动MySQL服务后开始记录 (3)只需要执行刷新就能创建新日志 增量备份实战演练 下面是生产环境中的案例,对它进行增量备份操作 1

Mysql增量备份与恢复实例

小量的数据库可以每天进行完整备份,因为这也用不了多少时间,但当数据库很大时,就不太可能每天进行一次完整备份了,这时候就可以使用增量备份.增量备份的原理就是使用了mysql的binlog日志.本次操作的MySQL版本为5.5.40 for Linux (x86_64). 增量备份要确保打开了二进制日志,参考mysql的日志系统: mysql> show variables like '%log_bin%'; 首先对pak数据库做一个完整备份: $ mysqldump -h localhost -u

MySQL增量备份与恢复--实验

1.创建全备 innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --socket=/home/mysql/3306/data/mysql.sock --no-timestamp /home/mysql/backup 已有数据 2.增加数据 insert into leo values (7,"wanger"); insert into leo values (8,"xiaofang&quo

10、mysql增量恢复实战

10.1.实验数据: mysql> select * from test; +----+------+------+ | id | name | age | +----+------+------+ | 1 | lc | 20 | | 2 | lbd | 21 | +----+------+------+ 5 rows in set (0.00 sec) 10.2.备份库: mysqldump -uroot -p123456 --single-transaction -F --master-da

Mysql DBA 高级运维学习笔记-Mysql增量备份及数据恢复实战

大家好本文讲了mysql数据库的增量恢复.老男孩老师讲的很好很细,我自己呢整理了老师讲的部分内容,请大家将就看:文章内容比较多.比较乱,请大家认真总结知识,发现问题请及时批评指点~ 1.1 MySQL数据库的备份与恢复 1.1.1备份单个数据库练习多种参数使用 Mysql数据库自带了一个很好用的备份命令,就是mysqldump, 它的基本使用如下: 语法:mysqldump –u用户名 –p密码 数据库名>备份的文件名 范烈1:备份名字为cuizhong的库 a.查看备份前的数据 [[email

Mysql DBA 高级运维学习笔记-MySQL备份与恢复实战案例及生产方案

1.全量备份与增量备份 1.1 全量备份 全量数据就是数据库中所有的数据,全量备份就是把数据库中所有的数据进行备份. 备份所有库: mysqldump -uroot -p123456 -S /data/3306/mysql.sock -F -B –A gzip >/server/backup/mysq_backup_$(date +%F).sql.gz 备份一个库: mysqldump -uroot -p123456 -S /data/3306/mysql.sock -F -B linzhong

Mysql运维管理-MySQL备份与恢复实战案例及生产方案17

1.全量备份与增量备份 1.1 全量备份 全量数据就是数据库中所有的数据,全量备份就是把数据库中所有的数据进行备份. 备份所有库: mysqldump -uroot -p123456 -S /data/3306/mysql.sock -F -B –A gzip >/server/backup/mysq_backup_$(date +%F).sql.gz 备份一个库: mysqldump -uroot -p123456 -S /data/3306/mysql.sock -F -B linzhong

MySQL完全备份、增量备份与恢复

在生产环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果.所以数据库需要备份.这里以新版mysql5.7为例. 一.数据库备份分类: 从物理与逻辑的角度,备份可分为物理备份和逻辑备份. (1)物理备份:对数据库操作系统的物理文件(如数据文件.日志文件等)的备份.又可以分为冷备份和热备份. 冷备份:关闭数据库时进行的备份操作 热备份:在数据库运行状态中进行备份操作,这种备份方法依赖于数据库的日志文件. (2)逻辑备份:对数据库逻辑组件(如表等数据库对象)的备份. 从数据库的备份策