• 欢迎访问www.xadocker.cn QQ群
  • 时间不在于你拥有多少,而在于你们如何使用。-----艾克
  • 自立自主总胜过俯首为奴!-----卡密尔
  • 每个人都有一副面具,我只是自制了一副。-----戏命师
  • 真正的大师,永远怀着一颗学徒的心。-----剑圣
  • 世间万物表里如一者,又有几何?-----婕拉

Mysql-备份

DB xadocker.cn 2年前 (2019-03-16) 453次浏览 0个评论 扫描二维码
文章目录[隐藏]

闲谈

运维人员对与数据库的职责

    设计备份策略
    日常备份检查
    定期恢复演练
    故障恢复
    迁移数据

备份需要考虑的维度

    可以容忍丢失多长时间的数据
    恢复数据要在多长时间内完
    恢复的时候是否需要持续提供服务
    恢复的对象,是整个库,多个表,还是单个库,单个表

备份类型

根据是否要数据库离线划分

    热备:在数据库正常业务是,备份数据,并且能够一致性恢复(只能是innodb),对业务影响非常小
    温备:锁表备份,只能查询不能修改(myisam),影响到写入操作
    冷备:关闭数据库业务,数据库没有任何变更的情况下,进行备份数据.,业务停止

根据要备份的数据集合的范围划分

    完全备份
    增量备份
    差异备份
建议的备份策略
    1. 周末全备+工作日增量+二进制日志
    2. 周末全备+工作日差异+二进制日志

根据备份数据或文件

物理备份

优点:备份和恢复操作都比较简单,能够跨mysql的版本,恢复速度快,属于文件系统级别的
建议:不要假设备份一定可用,要检测表是否可用

逻辑备份

优点:恢复简单、备份的结果为ASCII文件,可以编辑,与存储引擎无关,可以通过网络备份和恢复
缺点:备份或恢复都需要mysql服务器进程参与,备份结果占据更多的空间,浮点数可能会丢失精度,还原之后,索引需要重建

备份工具的使用

逻辑备份工具mysqldump

本地备份
mysqldump -uroot -p -S /tmp/mysql.sock
远程备份
mysqldump -uroot -p -h 10.0.0.51 -P3306
常用参数解析
-A 全备参数

-B db1 db2 db3 备份多个单库

mysqldump -uroot -p -B world >/backup/oldboy.sql加上-B会建库

mysqldump -uroot -p world >/backup/oldboy1.sql不会建库,只会备份库中的表
R 备份存储过程及函数

--triggers 备份触发器

-F在备份开始时,刷新一个新binlog日志

--master-data=
参数:

    0 默认值
    1 以change master to命令形式,可以用作主从复制
    2 以注释的形式记录,备份时刻的文件名+postion号

官方说明

master-data可以自动加锁:

    在不加--single-transaction ,启动所有表的温备份,所有表都锁定
    加上--single-transaction ,对innodb进行快照备份,对非innodb表可以实现自动锁表功能

总结:备份必加参数

故障模拟

前提

    已进行全备份
    二进制日志完整
    然后误删数据

要求:根据全备份和二进制日志进行恢复
Step 1 全备份

Step 2 模拟数据操作

Step 3 开始恢复数据

max_allowed_packet

MySQL根据配置文件会限制Server接受的数据包大小。有时候大的插入和更新会受 max_allowed_packet 参数限制,导致大数据写入或者更新失败

max_allowed_packet值设置过小将导致单个记录超过限制后写入数据库失败,且后续记录写入也将失败,为了数据完整性,需要考虑到事务因素[v_tips][/v_notice]

物理备份工具的使用

xtrabackup 简介
Xtrabackup是由percona开源的免费数据库热备份软件,它能对InnoDB数据库和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁);mysqldump备份方式是采用的逻辑备份,其最大的缺陷是备份和恢复速度较慢,如果数据库大于50G,mysqldump备份就不太适合。

Xtrabackup优点

    备份速度快,物理备份可靠
    备份过程不会打断正在执行的事务(无需锁表)
    能够基于压缩等功能节约磁盘空间和流量
    自动备份校验
    还原速度快
    可以流传将备份传输到另外一台机器上
    在不增加服务器负载的情况备份数据

xtrabackup 安装

innobackupex 工具的使用

全量备份
增量备份
备份恢复模拟
全备恢复
增量的备份恢复


xadocker, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Mysql-备份
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址