加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

MySQL不同存储引擎的数据备份与恢复

发布时间:2018-09-13 18:13:56 所属栏目:编程 来源:IT168企业级
导读:9月15日技能沙龙 | 与东华软件、AWS、京东金融、饿了么四位大咖切磋精准运维! 数据备份的目标很直接也很简朴,就是为了停止因不行猜测、偶尔的变乱而导致的惨重丧失,以是数据越重要、变革越频仍,就越要举办数据备份。我们以MySQL为例对数据备份举办了粗
9月15日技能沙龙 | 与东华软件、AWS、京东金融、饿了么四位大咖切磋精准运维!

数据备份的目标很直接也很简朴,就是为了停止因不行猜测、偶尔的变乱而导致的惨重丧失,以是数据越重要、变革越频仍,就越要举办数据备份。我们以MySQL为例对数据备份举办了大致的解读,本文我们依然以MySQL为例,讲讲面临差异的存储引擎怎样做数据备份与规复。

为了应对差异的数据处理赏罚,MySQL提供了十几种差异的存储引擎,不外,我们没有须要逐一去相识,由于认识行使MySQL的人都知道,较量常用的存储引擎有两个,别离是MyISAM和InnoDB。

  • MyISAM是MySQL的ISAM扩展名目和缺省的数据库引擎,不支持事宜、也不支持外键,但其上风在于会见速率快,对事宜完备性没有要求,以select,insert为主的应用根基上可以用这个引擎来建设表。常用于高读取的应用场景数据库,支持三种差异范例的存储布局:静态型、动态型、压缩型。
  • InnoDB提供了具有提交、回滚和瓦解规复手段的事宜安详,支持自动增添列,支持外键束缚。比拟MyISAM引擎,InnoDB写的处理赏罚服从会差一些,而且会占用更多的磁盘空间以保存数据和索引。

MySQL差异存储引擎的数据备份与规复

相识了MySQL常用的两种存储引擎之后,我们就来看看在这两种引擎中怎样举办数据备份和规复。

MyISAM数据备份

由于MyISAM是生涯成文件的情势,以是在备份时有多种要领可以行使,而且大大都假造主机提供商和INTERNET平台提供商只应承行使MyISAM名目,把握MyISAM数据备份就分外重要了。

要领1:文件拷贝

为了保持数据备份的同等性,我们可以对相干表执行LOCK TABLES操纵,对表执行FLUSH TABLES。虽然,你只必要限定写操纵,这样可以或许担保在复制数据时,其余操纵如故可以查询表,而FLUSH TABLES是用来确保开始备份前将全部激活的索引页写入硬盘。

尺度流程:锁表、革新表到磁盘、拷贝文件、解锁。

要领2:SQL语句备份

SELECT INTO ...OUTFILE或BACKUP TABLE都可以举办SQL级此外表备份,必要留意的是这两种要领假若有重名文件,最好是先移除重名文件。其它,BACKUP TABLE备份必要留意输出目次的权限,改要领只是备份MYD和frm文件,不备份索引。

要领3: mysqlhotcopy 备份

mysqlhotcopy 是一个 Perl剧本,行使LOCK TABLES、FLUSH TABLES和cp或scp来快速备份数据库,但其只能运行在数据库目次地址的呆板上,且只用于备份MyISAM。

  1. shell> mysqlhotcopy db_name [/path/to/new_directory ] 
  2. shell> mysqlhotcopy db_name_1 ... db_name_n /path/to/new_directory 

要领4: mysqldump 备份

Mysqldump既可以备份表布局和数据,也可以备份单个表、单个库可能全部库,输出是SQL语句文件可能是其余数据库兼容的名目。在之前的文章中,我们较具体的先容了Mysqldump,本文就不再赘述了。

  1. shell> mysqldump [options] db_name [tables]  
  2. shell> mysqldump [options] ---database DB1 [DB2 DB3...] 
  3. shell> mysqldump [options] --all—database 

要领5:冷备份

冷备份的要领就很简朴粗暴了,在MySQL处事器遏制处事时,复制全部表文件。

MyISAM数据备份规复

差异的备份方法有响应的规复要领:

  • 假如是mysqldump备份,规复要领是mysql –u root < 备份文件名;
  • 假如是mysqlhotcopy或文件冷/热拷贝备份,规复要领是遏制MySQL处事,并用备份文件包围现有文件;
  • 假如是BACKUP TABLE备份,行使restore table来规复;
  • 假如是SELECT INTO ...OUTFILE备份,行使load data规复数据或mysqlimport呼吁。

InnoDB数据备份

MyISAM不支持事宜和外键,这使得MySQL行使者每每谋面对一些挑衅,以是,理所虽然的当InnoDB支持事宜和外键时,纵然它的速率较慢,也照旧得到了MySQL行使者的青睐。

要领1:mysqldump

是不是看着很眼熟,没错儿,上面MyISAM数据备份的要领个中之一就是它。Mysqldump也可以对InnoDB提供非物理的在线逻辑热备份,行使要领和MyISAM相同。

要领2:copy file

InnoDB底层存储的时辰会将数据和元信息存在ibdata*, *.ibd, *.frm, *.ib_logfile*等文件中,以是备份了这些文件就相等于备份了InnoDB数据。

要领3:select into

与MyISAM用法一样。

要领4:贸易器材

InnoDB数据备份有许多贸易器材可以行使,譬喻InnoDB Hotbackup,这是一个在线备份器材,即可以在InnoDB数据库运行时备份InnoDB数据库; ibbackup,将线上的my.cnf所指向的的数据内容备份到my.backup.cnf指向的数据目次。

InnoDB数据备份规复

在行使特定的规复要领之前,InnoDB数据备份规复尚有两个通用的要领,别离是InnoDB的日记自动规复成果,即重启mysql处事和“全能大法”——重启计较机。

  • 假如是mysqldump完全备份,先规复完全备份,然后再规复完全备份后的增量日记备份。
  • 假如是select into备份表,则回收load data或mysqlimport规复。
  • 假如是copy file,那么就遏制MySQL处事,备份文件包围当前文件,并执行前次完全备份后的增量日记备份。

【编辑保举】

  1. 数据备份便是劫难规复吗?
  2. 30个MySQL万万级大数据SQL查询优化能力详解
  3. 讲真,这几种数据备份和容灾要领你不pick一下吗?
  4. MySQL存储引擎知几多
  5. MySQL之存储引擎InnoDB和MyISAM的区别及底层详解
【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读