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-data=1 -R -B lc >/tmp/lc_bak.sql

10.3、对库中的数据进行修改:

mysql> update lc.test set name=‘lc2‘ where id=2;

mysql> select * from test;

+----+------+------+

| id | name | age |

+----+------+------+

| 1 | lc | 20 |

| 2 | lc2 | 21 |

+----+------+------+

10.4、误操作导致库丢失:

drop database lc;

10.5、恢复数据库:

1、停库操作(推荐),如果不锁库会导致数据一致性有问题;

1)关闭网络的方法:

[mysqld]

skip-networking

#开启该选项可以彻底关闭 MySQL 的 TCP/IP 连接方式;

2)重启mysql;

/data/3306/mysql restart

2、mysqladmin -uroot -p123456 flush-log #刷新binlog日志;

mysql -uroot -p123456 lc </tmp/lc_bak.sql

mysql> select * from test;

+----+------+------+

| id | name | age |

+----+------+------+

| 1 | lc | 20 |

| 2 | lbd | 21 |

+----+------+------+

10.6、增量恢复:

1、查看lc_bak.sql内容找到binlog的备份时的pos点:

CHANGE MASTER TO MASTER_LOG_FILE=‘mysql-bin.000002‘, MASTER_LOG_POS=107;

2、导出lc库的数据:

只导出lc对应的库的binlog日志,使用-d参数,防止还原时还原所有的库,数据重复而报错,导致恢复无法进行;

mysqlbinlog -d lc /application/mysql/data/mysql-bin.000002 >/tmp/lc_add.sql

3、恢复:

mysql -uroot -p123456 lc </tmp/lc_add.sql

4、数据查看:

mysql> select * from test;

+----+------+------+

| id | name | age |

+----+------+------+

| 1 | lc | 20 |

| 2 | lc2 | 21 |

+----+------+------+

10.7、知识点补充:

指定恢复的库和恢复的位置生成sql文件:

[[email protected] data]# mysqlbinlog /application/mysql/data/mysql-bin.000014 -d lc --start-position=107 --stop-position=351 -r /tmp/lc_bin.log

#--start-position=107 --stop-position=351 :按照位置点取sql语句:

#--start-datetime=‘2019-2-26 13:25:28‘ --stop-datetime=‘2019-2-26 19:55:32‘ :按照时间点取出sql语句,是一个时间范围,比较模糊,可能一秒钟有多条的修改的语句;

#使用该方法可以跳过故障点,按要求进行恢复数据库;

#如果不给开始和结尾,开始点是binlog文件的开头,结尾点是binlog文件的结尾;

#如果只给了开头不给结尾,则结尾点是binlog文件的结尾处;

原文地址:https://www.cnblogs.com/LiuChang-blog/p/12315809.html

时间: 2024-11-06 07:09:37

10、mysql增量恢复实战的相关文章

mysql增量恢复

mysql增量恢复过程 创建一张用于测试的表 mysql> create table user (name char(10),age int(3)); Query OK, 0 rows affected (0.07 sec) mysql> desc user; +-------+----------+------+-----+---------+-------+ | Field | Type     | Null | Key | Default | Extra | +-------+-----

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"

mysql数据库增量恢复多实例实战演示

mysql主从复制原理要点 1.异步方式同步 2.逻辑同步模式,多种模式,默认是通过sql语句执行 3.主库通过记录binlog实现对从库的同步,binlog记录数据库的更新语句 4.主库1个IO线程,从库由1个IO线程和一个sql线程来完成的 5.从库关键文件master.info,relay-log,relay-info功能 6.如果从库还想级联从库,需要打开bin-log和log-slave-updates参数 [[email protected] ~]# mysql -uroot -po

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

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

mysqldunp增量恢复过程及详解

Mysql增量恢复必备条件 1.开启mysql log-bin日志功能 MySQL数据库开启了log-bin 参数记录binlog日志功能下: 小结:增量恢复的条件: 存在一份全备加上全备之后的时刻到出问题时刻的所有增量binlog文件备份. 创建模拟环境 [[email protected] 3306]# grep log-bin /data/3306/my.cnf log-bin = /data/3306/mysql-bin [[email protected] 3306]# mkdir -

MySQL增量备份与恢复

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

【转】mysql增量备份恢复实战企业案例

来源地址:http://seanlook.com/2014/12/05/mysql_incremental_backup_example/ 小量的数据库可以每天进行完整备份,因为这也用不了多少时间,但当数据库很大时,就不太可能每天进行一次完整备份了,这时候就可以使用增量备份.增量备份的原理就是使用了mysql的binlog日志. 本次操作的MySQL版本为5.5.40 for Linux (x86_64). 增量备份要确保打开了二进制日志,参考mysql的日志系统: 1 mysql> show

Mysql运维管理-初步增量恢复mysql数据库10

初步增量恢复MySQL数据实战 a.配置my.cnf配置文件 先把my.cnf配置文件中的log-bin参数打开重命名为mysqlbin_zbf,这样在mysql数据库中更新一个东西就会在这个日志里更新.这样会导致这个日志很大,没关系系统可以自动分割还可以手动分割. [[email protected] var]# vim /etc/my.cnf -省略-- # Uncomment the following if you want to log updates log-bin=mysqlbin

MySQL第五天(增量备份和增量恢复)

day05一.数据备份与恢复-增量备份和增量恢复a.binlog日志介绍(二进制文件):使用Mysql数据库服务日志文件类型的一种.记录除查询之外的sql命令.默认没启用 查询的sql包括:select desc show 不是查询的命令:insert update delete create drop grant revoke b.启用binlog日志如何启用日志默认存放位置/var/lib/mysql日志默认名称主机名-bin.00000151-bin.000001 (大于500M自动生成0