我的编程空间,编程开发者的网络收藏夹
学习永远不晚

innobackupex的备份和恢复是怎么样的

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

innobackupex的备份和恢复是怎么样的

这篇文章给大家介绍innobackupex的备份和恢复是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

原理

阶段:备份backup – 预恢复prepare  -- 恢复restore

表文件时可能包含不完整事务,需要prepare将其变为consistent数据文件,这样复制出来的文件肯定是不一致的,然后对每个文件进行崩溃恢复处理,最终达到一致.

在启动的时候会记录一个LSN(log sequence number),然后就把所有的Innodb数据文件复制出来,这样复制出来的数据文件是不一致的,但是XtraBackup会在后台运行一个进程把所有对redo log file的修改记录下来;

二进制程序(比如xtrabackup_55)完成的,如果使用innobackupex 脚本,刚才的步骤完成以后,innobackupex就会去备份MyISAM表和.frm文件,这时要保证数据的一致性就会先锁表了,通过FLUSH TABLES WITH READ LOCK命令锁表然后把文件复制出来,再释放掉这个锁。

(recovery)和restore两个步骤。在prepare结束以后,Innodb的表恢复到了复制Innodb文件结束的时间点,这个时间点也就是锁表复制MyISAM表的起点,所以最终数据是一致的。一般我们在恢复的时候执行两次prepare,是因为第二次prepare会帮助我们生成redo log文件,从而加快MySQL数据库启动的速度。

将数据库备份放在BACKUP-DIR目录,默认新建一个子目录,--no-timestamp会跳过此功能;选项指定所用内存以加快进度,默认100M;读取datadir/innodb_data_home_dir/innodb_data_file_path等变量;

表是innodb表,最后为logfile;--data-dir目录必须为空

增量备份文件,内容如下

文件内容如下

有点复杂,如果对base backup执行事务一致性恢复,则其不能再用于增量备份恢复,为此须指定redo-only选项;

恢复单表提供了restore datafile,针对坏块也有blockrecover,即尽可能的避免全库恢复;也提供了类似功能,允许恢复单个表空间;让innodb采用slow shutdown(full purge + change buffer merge),以保证表空间处于一致性并被import;

数据字典的dump,5.6起不是必需;

创建相同结构的表复制到数据目录

基于时间点的恢复,记录备份binlog时数据库当前位置,这也是数据库一致性恢复的终点;

执行时间点恢复

--start-position=57 --stop-datetime="11-12-25 01:00:00" | mysql -u root –p

在slave执行备份

须留意以下两个参数

--从属信息

此选项在备份复制从属服务器时非常有用。它打印主服务器的二进制日志位置和名称。它还将此信息作为更改主命令写入xtrabackup_slave_info文件。通过在此备份上启动从属服务器,并使用保存在xtrabackup\u slave\u info文件中的二进制日志位置发出CHANGE master命令,可以设置此主服务器的新从属服务器。

--安全从备份

停止从属SQL线程并等待启动备份,直到“显示”状态下的从属打开临时表为零。如果没有打开的临时表,将进行备份,否则将启动和停止SQL线程,直到没有打开的临时表。如果在--safe Slave backup timeout秒后Slave_open_temp_tables未变为零,备份将失败。备份完成后,从属SQL线程将重新启动。

关于innobackupex的备份和恢复是怎么样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

innobackupex的备份和恢复是怎么样的

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Prometheus系统的数据备份和恢复机制是怎样的

Prometheus系统的数据备份和恢复机制可以通过以下方式进行:数据备份:Prometheus系统的数据存储在本地的时间序列数据库中,可以通过定期备份Prometheus数据目录(默认为/data)来实现数据备份。可以使用诸如tar、rs
Prometheus系统的数据备份和恢复机制是怎样的
2024-03-04

Jenkins中备份和恢复是怎么进行的

在Jenkins中进行备份和恢复通常可以通过以下几种方法来实现:备份:备份Jenkins的配置文件:可以通过将Jenkins的配置文件(如config.xml)复制到另一个位置来备份Jenkins的配置信息。使用Jenkins插件进行备
Jenkins中备份和恢复是怎么进行的
2024-03-04

mongodb备份和恢复的方法是什么

在MongoDB中,可以使用mongodump和mongorestore命令来备份和恢复数据库。备份数据:使用mongodump命令来备份整个数据库或指定的集合。示例:mongodump --db --ou
mongodb备份和恢复的方法是什么
2024-04-09

编程热搜

目录