博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
InnoDB存储引擎(八)备份与恢复
阅读量:3906 次
发布时间:2019-05-23

本文共 1400 字,大约阅读时间需要 4 分钟。

目录


MySQL数据库提供的大部分工具(如mysqldump、ibbackup、replication)都能很好地完成备份的工作,当然也可以通过第三方工具来完成,如xtrabacup、LVM快照备份等。

8.1 备份与恢复概述

根据备份的方法不同可以将备份分为:

  1. Hot Backup(热备):在数据库运行中直接备份,对正在运行的数据库没有任何影响

  2. Cold Backup(冷备):在数据库停止情况下,一般只需要复制相关的数据库物理文件即可

  3. Warn Backup(温备):在数据库运行中进行,但是会对当前数据库的操作有影响,如加一个全局读锁以保证备份数据的一致性

 

按照备份后文件的内容,备份文件又可以分为:

  1. 逻辑备份:备份出的文件是可读的,一般是文本文件。内容一般由一条条SQL语句,或者表内实际数据组成

  2. 裸文件备份:指复制数据库的物理文件,既可以在数据库运行中复制,也可以在数据库停止运行时直接的数据文件复制

 

按照备份数据库的内容来分,备份又可以分为:

  1. 完全备份:对数据库进行一个完整的备份

  2. 增量备份:在上次完全备份的基础上,对于更改的数据进行备份

  3. 日志备份:对MySQL数据库二进制日志的备份,通过对一个完全备份进行二进制日志的重做来完成数据库的point-in-time的恢复工作。数据库复制(replication)原理就是异步实时地将二进制日志重做传送并应用到从数据库

8.2 冷备

只需要备份MySQL数据的frm文件,共享表空间文件,独立表空间文件(*.ibd),重做日志文件。另外建议定期备份MySQL数据库的配置文件my.cnf,这样有利于恢复的操作。

8.3 逻辑备份

  1. mysqldump:用来完成转存数据库的备份及不同数据库之间的移植,备份的文件就是导出的SQL语句,一般只需要执行这个文件就可以完成数据恢复

  2. select ... into outfile:导出一张表的数据,通过load data infile来进行导入恢复

8.4 二进制日志备份与恢复

二进制日志非常关键,用户可以通过它完成point-in-time的恢复工作。MySQL数据库的replication同样需要二进制日志。在默认情况下并不启用二进制日志,要使用二进制日志首先必须启用它。

推荐的二进制日志的服务器配置:

log-bin = mysql-binsync_binlog = 1innodb_support_xa = 1

8.5 热备

  1. ibbackup

  2. XtraBackup

8.6 快照备份

通过文件系统支持的快照功能对数据库进行备份。备份的前提是所有数据库文件放在同一文件分区中,然后对该分区进行快照操作。

8.7 复制

复制(replication) 是MySQL数据库提供的一种高可用高性能的解决方案,一般用来建立大型的应用。总体来说,replication 的工作原理分为以下3个步骤:

  1. 主服务器(master) 把数据更改记录到二进制日志(binlog) 中。

  2. 从服务器(slave) 把主服务器的二进制日志复制到自己的中继日志(relay log)中。

  3. 从服务器重做中继日志中的日志,把更改应用到自己的数据库上,以达到数据的最终一致性。

8.8 企业实现

本人现就职于50-100人的创业公司,经询问后了解到,我们公司采用的是 阿里云 的 云数据库 RDS 版

采用 半同步 方式

转载地址:http://ziqen.baihongyu.com/

你可能感兴趣的文章
Gmail导入通讯录
查看>>
小米笔记本安装Win 10历程
查看>>
【转】SLAM 论文阅读和分类整理
查看>>
【转】Ubuntu 16.04 重置密码(忘记密码)
查看>>
【转】信息奥赛一本通1185:单词排序(OJ题目描述有问题)
查看>>
webclient
查看>>
从百度MP3搜索结果中提取歌曲列表
查看>>
Python Set
查看>>
SWT 中实现最小化到托盘图标,并只能通过托盘的弹出菜单关闭程序
查看>>
Java Table Examples
查看>>
Java read file
查看>>
界面主线程,子线程更新主界面控件
查看>>
敲两遍引号键才出现
查看>>
剑指Offer
查看>>
网页乱码分析
查看>>
java 线程:sleep join yield | wait notify notifyAll
查看>>
Python 包、模块 概念 from 、import 关键字
查看>>
世界各国的手机号码
查看>>
通配符与正则表达式
查看>>
c++ 与 Java 之 红黑树 哈希表 辨析
查看>>