🗒️mysql二进制日志备份和恢复

type
status
date
slug
summary
tags
category
icon
password
文章来源说明

🤔 一个简单的开头

RAM-->事务日志-->二进制日志-->数据库
二进制日志恢复前置条件 完整备份+二进制日志
使用ROW形式,不使用语句形式 原始数据,避免语句函数影响数据真实性
默认是语句记录 有可能丢失数据 行记录日志量较大 生产强列建议 个人建议此种方式稳妥 混合模式mixed 让系统自动判定该基于哪种方式进行 折中方案,如果要求生产尽量日志小一点和保证数据完整性,可使用此方案,至少选这个

📝主旨内容

二进制日志配置

常用命令

备份注意要点

能容忍最多丢失多少数据(多久做一次备份)
恢复数据需要在多长时间内完成(多长时间能恢复,还原数据时业务是不能访问数据的)
需要恢复哪些数据(mysql perfomance_schema 实例生产使用的DB)

还原要点

做还原测试,用于测试备份的可用性(一定要确认是否能成功,数据是否一致)
定期做还原演练(保持冷静,建议将过程写成操作手册)
 

备份类型

  • 完全备份+二进制日志,可恢复指定时间的数据
notion image
  • 差异备份,是指上一次完整备份到目前差异备份的数据变化
完全备份+差异备份+二进制日志,可恢复指定时间的数据,比每次做完全备份速度更快
notion image
  • 增量备份,完全备份+增量备份N+二进制日志,可恢复指定时间的数据
增量备份有依赖性,根据前面的完整/增量备份,增量备份比差异快一点,还原差异方便一点
所谓的增量,其实是二进制日志实现的
notion image
注意:二进制日志文件不应该与数据文件放在同一磁盘
 

冷、温、热备份

冷备:读写操作均不可进行
温备:读操作可执行;但写操作不可执行
热备:读写操作均可执行
MyISAM:温备,不支持热血
InnoDB:都支持
 

物理和逻辑备份

  • 物理备份:直接复制数据文件进行备份,与存储引擎有关,占用较多的空间,速度快
如使用delte删除表数据,查看数据文件大小会不会减小,实现是不会减小 testlog.idb 将来使用物理备份将来占用大量的空间,如何解除此方式
  • 逻辑备份
从数据库中“导出”数据另存而进行的备份,与存储引擎无关,占用空间少,速度慢,可能丢失精度
 
备份什么
数据
二进制日志、InnoDB事务日志
程序代码(存储过程、函数、触发器、事件调度器)
服务器的配置文件
 
备份工具
cp,tar:等复制归档工具:物理备份工具,适用所有存储引擎;只支持冷备;完全和部分备份
LVM的快照:先加锁,做快照后解锁,几乎热备;借助文件系统工具进行备份
mysqldump:逻辑备份工具,适用所有存储引擎,温备;支持完全或部分备份;对InnoDB存储引擎支持热血,结合binlog的增量备份
xtrabackup:由Percona提供支持对InnoDB做热备(物理备份)的工具,支持完全备份、增量备份
MariaDB Backup:从MariaDB 10.1.26开始集成,基于Percona XtraBackup 2.3.8实现
mysqlbackup:热备份,MySQL Enterprise Edition组件
mysqlhotcopy:PERL语言实现,几乎准备,仅适用于MyISAM存储引擎使用LOCK TABLES、FLUSH TABLES和cp或scp来快速备份数据库
 
mysqldump
工作原理相当于mysql客户端,通过mysql协议连接至mysql服务器进行备份

示例 物理故障

示例 恢复误删除的表

🤗总结归纳

 

参考文章

 
 
致谢:
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
 
 
阿里云计算产品笔记主从复制
Loading...
目录