阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL数据备份

545次阅读
一条评论

共计 2216 个字符,预计需要花费 6 分钟才能阅读完成。

MySQL 备份概述

问题:备份和冗余有什么区别?

  • 备份: 能够防止由于机械故障以及人为操作带来的数据丢失,例如将数据库文件保存在了其它地方。
  • 冗余: 数据有多份冗余,但不等于备份,只能防止机械故障带来的数据丢失,例如主备模式、数据库集群。

备份是什么?

 databases     Binlog  my.cnf       /data/xxx(数据目录)

备份数据库,还有日志文件,还有配置文件,尽可能将数据目录里面的文件全部备份。

备份过程中必须考虑因素:

  • 1、必须制定详细的备份计划(备份频率、时间点、周期)(根据当前的业务情况,需要考虑备份的时间和备份数据的大小。数据量太大的话就使用冗灾)。
  • 2、备份数据应该放在非数据库本地,并建议有多份副本
  • 3、必须做好数据恢复的演练(每隔一段时间,对备份的数据在测试环境中进行模拟恢复,保证当出现数据灾难的时候能够及时恢复数据。)(保证数据的可用性)备份完成后进行断电模拟演练。测试数据库是否可以正常启动,数据能否正常进行恢复。
  • 4、根据数据应用的场合、特点选择正确的备份工具。
  • 5、数据的一致性。
  • 6、数据的可用性。

备份类型

逻辑备份

逻辑备份就是在不停业务的情况下进行备份。

备份的是建表、建库、插入等操作所执行 SQL 语句(DDL DML DCL),适用于中小型数据库,效率相对较低。

(一般在数据库正常提供服务的前提下进行的);如:mysqldump、mydumper、into outfile(表的导出导入)等

物理备份

直接复制数据库文件,适用于大型数据库环境,不受存储引擎的限制,但不能恢复到不同的 MySQL 版本。

(一般在数据库彻底关闭或者不能完成正常提供服务的前提下进行的备份);如:tar、cp、xtrabackup、lvm snapshot 等

在线热备

在线热备:AB 复制(在线实时)(指的是对数据的冗余)

M-S

M-Sn

M-S1-S2

M-M-Sn

备份工具

社区版安装包中的备份工具

mysqldump

  • 企业版和社区版都包含
  • 本质上使用 SQL 语句描述数据库及数据并导出
  • 在 MYISAM 引擎上锁表,Innodb 引擎上锁行
  • 数据量很大时不推荐使用

mysqlhotcopy

  • 企业版和社区版都包含
  • perl 写的一个脚本,本质上是使用锁表语句再拷贝数据
  • 只支持 MYISAM 数据引擎

企业版安装包中的备份工具

mysqlbackup

  • 在线备份
  • 增量备份
  • 部分备份
  • 在某个特定时间的一致性状态的备份

第三方备份工具

XtraBackup 和 innobackupex

Xtrabackup 是一个对 InnoDB 做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具 InnoDB Hotbackup 的一个很好的替代品

Xtrabackup 有两个主要的工具:xtrabackup、innobackupex

  • xtrabackup 只能备份 InnoDB 和 XtraDB 两种数据表,不能备份 myisam 类型的表,也不能备份数据表结构。
  • innobackupex 是将 Xtrabackup 进行封装的 perl 脚本,所以能同时备份处理 innodb 和 myisam 的存储引擎,但在处理 myisam 时需要加一个读锁

mydumper

mydumper 多线程备份工具

https://launchpad.net/mydumper/mydumper-0.9.1.tar.gz 2015-11-06(最后更新时间)

备份方法

完全备份

增量备份

 MySQL 数据备份

差异备份

MySQL 数据备份

差异增量备份

 MySQL 数据备份

 • Sunday
An incremental level 0 backup backs up all blocks that have ever been in use in this database.

• Monday through Saturday
On each day from Monday through Saturday, a differential incremental level 1 backup backs up all blocks that have changed since the most recent incremental backup at level 1 or 0. The Monday backup copies blocks changed since Sunday level 0 backup, the Tuesday backup copies blocks changed since the Monday level 1 backup, and so forth.

累计增量备份

MySQL 数据备份

• Sunday
An incremental level 0 backup backs up all blocks that have ever been in use in this database.

• Monday – Saturday
A cumulative incremental level 1 backup copies all blocks changed since the most recent level 0 backup. Because the most recent level 0 backup was created on Sunday, the level 1 backup on each day Monday through Saturday backs up all blocks changed since the Sunday backup.

需要掌握的备份方法:

逻辑数据的导入导出 (into outfile)mysqldump、mysqlhotcopy、xtrabackup 和 innobackupex
lvm-snapshot、mysqlbackup

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-28发表,共计2216字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(一条评论)
验证码
2022-01-28 14:34:09 回复

备份数据库,还有日志文件,还有配置文件,尽可能将数据目录里面的文件全部备份。

 Windows  Firefox  中国福建省福州市电信
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中