14.18 InnoDB Backup and Recovery 备份和恢复:
14.18 InnoDB Backup and Recovery 备份和恢复: 安全数据库管理的关键是 做定期的备份,依赖你的数据卷, MySQL server的数量和数据库的负载,你可以使用那些技术,单独的或者组合: 使用MySQL 企业版进行热备份; 当关闭Mysql 数据库的时候通过拷贝文件进行冷备份, 物理备份对于快速操作(特别对于恢复) 逻辑备份对于小的数据量或者恢复schema对象的结构 Hot Backups mysqlbackup 命令, MySQL 企业备份组件部分, 让你备份运行的MySQL 实例, 包含InnoDB和MyISAM 表, 以最小的中断操作来产生一个一致性数据库快照。 当mysqlbackup 是复制InnoDB 表,读和写在InnoDB和MyISAM 表是可以继续的。 在复制MyISAM表的时候,读(但是不是写) 到那些表是允许的。 MySQL 企业备份可以创建压缩的备份文件,备份表和数据库的子集。 和MySQL的binary log的组合,用户可以执行按时间点恢复。 MySQL Enterprise Backup 是MySQL Enterprise的一部分 Cold Backups 冷备份: 如果你可以关闭你的MySQL server, 你可以做一个binary backup 所有的文件用于管理它的表,使用下面的过 程: 1.
做一个慢的MySQL server 关闭和确保它停止没有报错 2.复制所有的InnoDB 数据文件(ibdata文件和.ibd文件)到一个安全的地方 3.复制所有的.frm 文件对于InnoDB 表到安全的地方 4.复制所有的InnoDB log files(ib_logfile files)到一个安全的地方 5.复制你的my.cnf 配置文件或者文件到安全的地方 选择备份类型: 除了前面描述的2进制备份, 使用mysqldump 定期的进行dump. 一个binary 文件可能会损坏在你没有注意的时候 Dumped tables 是存储在文本文件,它们是人可读的, 因此发现表腐败变的很容易。此外,由于格式更简单, 严重的数据损坏的机会会更小。 mysqldump 也可以有一个 --single-transaction option来做一个一致性快照在不锁定其他的客户端 复制工作,你可以使用MySQL 复制功能来保留你的数据库的拷贝 Performing Recovery 恢复你的InnoDB 数据库到现在从2进制备份的时间点, 你必须让你的MySQL server 的binary logging 打开, 甚至在备份前。 为了完成基于时间点的恢复在恢复一个备份, 你可以应用binary log的改变 在备份完成之后 为了从一个MySQL server的crash 恢复, 唯一的需求时重启它。 InnoDB 会自动的检查logs和执行一个数据库的前滚到现在 InnoDB 自动回滚没有提交的事务, 在crash时 在recovery期间,mysqld 显示输出这样的东西: InnoDB: Database was not shut down normally.
InnoDB: Starting recovery from log files...
InnoDB: Starting log scan based on checkpoint at
InnoDB: log sequence number 0 13674004
InnoDB: Doing recovery: scanned up to log sequence number 0 13739520
InnoDB: Doing recovery: scanned up to log sequence number 0 13805056
InnoDB: Doing recovery: scanned up to log sequence number 0 13870592
InnoDB: Doing recovery: scanned up to log sequence number 0 13936128
...
InnoDB: Doing recovery: scanned up to log sequence number 0 20555264
InnoDB: Doing recovery: scanned up to log sequence number 0 20620800
InnoDB: Doing recovery: scanned up to log sequence number 0 20664692
InnoDB: 1 uncommitted transaction(s) which must be rolled back
InnoDB: Starting rollback of uncommitted transactions
InnoDB: Rolling back trx no 16745
InnoDB: Rolling back of trx no 16745 completed
InnoDB: Rollback of uncommitted transactions completed
InnoDB: Starting an apply batch of log records to the database...
InnoDB: Apply batch completed
InnoDB: Started
mysqld: ready for connections 如果你的数据库变的损坏或者磁盘故障, 你必须使用备份来执行一个recovery. 在腐败的情况下,首先找到一个备份是不损坏的, 在恢复基础备份后,做一个基于时间点的恢复从binary log files 使用 mysqlbinlog和mysql 来恢复在备份后的改变 在某些数据库腐败的情况下,它是足够的只是转储,drop和重建创建一个或者一些腐败的表。 你可以使用CHECK TABLE SQL语句来检查一个表是否是腐败的, 虽然CHECK TABLE 自然的检测每种可能的腐败。 在某些情况下,明显的数据库页腐败实际上由于操作系统腐败它自己的文件cache, 数据在磁盘可能是好的。
14.18 InnoDB Backup and Recovery 备份和恢复:的更多相关文章
- Chapter 7 Backup and Recovery 备份和恢复:
Chapter 7 Backup and Recovery 备份和恢复: Table of Contents 7.1 Backup and Recovery Types 7.2 Database Ba ...
- 官方文档 恢复备份指南一 Introduction to Backup and Recovery
1.备份分为:物理备份和逻辑备份 物理备份:备份数据文件 控制文件 归档日志文件 逻辑备份:EXP EXPDP备份等 物理备份为主,逻辑做补充 2.错误的类型 ...
- VMware Data Recovery备份恢复vmware虚拟机
VMware Data Recovery 是VMware虚拟机备份工具,可创建虚拟机备份,同时不会中断虚拟机的使用或虚拟机提供的数据和服务.Data Recovery 管理现有备份,并在这些备份过时后 ...
- insert buffer/change buffer double write buffer,双写 adaptive hash index(AHI) innodb的crash recovery innodb重要参数 innodb监控
https://yq.aliyun.com/articles/41000 http://blog.itpub.net/22664653/viewspace-1163838/ http://www.cn ...
- 14.18.1 The InnoDB Recovery Process InnoDB 恢复进程:
14.18.1 The InnoDB Recovery Process InnoDB 恢复进程: InnoDB crash recovery 有几个步骤组成: 1.应用redo log,Redo lo ...
- Backup &recovery备份和还原
实践版本:MySQL5.7 备份类型(backup type)物理和逻辑备份(Physical Versus Logical Backup) 物理备份是指直接复制存储数据库内容的目录和文 ...
- 7.1 Backup and Recovery Types 备份和恢复类型
7.1 Backup and Recovery Types 备份和恢复类型 这个章节描述 不同备份类型的特点: 物理(raw)与逻辑备份 物理备份有raw 副本组成,存储数据库内容,这种类型的备份是适 ...
- Backup&recovery备份和还原 mysql
1.mysqldump 在日常工作中,我们会使用mysqldump命令创建sql格式的转储文件来备份数据库.或者我们把数据导出后做数据迁移,主备搭建等操作.mysqldump是一个逻辑备份工具,复制原 ...
- centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复
centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复 有时候我们会碰到这样的业务场景: 1.将大的数据库恢复到本地进行业务测试 ...
随机推荐
- 6.基于ZMQ的游戏网络层基础架构
对于内网服务器的通信采用zmq来进行,对于和客户端的通信采用boost的asio来.这里先来搭建zmq的基础结构. zmq相关的知识可以去zmq官方网站查询. 这里使用zmq的push 和pull来进 ...
- 仿知乎安卓client滑动删除撤销ListView
标签(空格分隔): Android 新版的知乎安卓client有一个有趣的功能,就是在一个item里.向右滑动时整个item会越来越透明,滑动到一半时,整个item就不见了.放开手指就是删除.删除后还 ...
- UVA 1619 Feel Good(DP)
Bill is developing a new mathematical theory for human emotions. His recent investigations are dedic ...
- linux 修改IP, DNS 命令
linux 修改IP, DNS 命令 http://www.cnblogs.com/fighter/archive/2010/03/04/1678007.html 修改DNS [root@localh ...
- String类的一些方法
String 类有以下方法: startsWith(String prefix) boolean java.lang.String.startsWith(String prefix) Tests if ...
- PHPer的等级划分
PHPer的等级划分 前一段时间刚刚完成PHP的培训,然后想知道自己目前的水平(或者说等级),并且应该在哪些方面进行提高,所以在网上查了一下相关介绍.其中有一篇介绍讲的挺清楚的,至少目前的我还是很认同 ...
- 由动态库文件dll生成lib库文件(手动生成.def文件,然后使用lib命令编译,非常牛),同理可使用dll生成.a库文件
本文基于OpenBlas的编译和安装,来说明如何从一个dll文件生成lib库文件. 参考OpenBlas的说明“Howto generate import library for MingW”,和Mi ...
- Flask web开发 处理Session
本文我们在上篇文章<Flask web开发 处理POST请求(登录案例)>的基础上,来讲述Flask对session的支持. 在上面案例上,我们需要修改和新增如下功能 1.登录成功后的 ...
- 二、Mongo命令初识
简单介绍mongo的一些基本命令 1. 连接与登陆mongo 在命令行输入“mongo”命令即可登陆Mongo数据库(PS:默认讨论被信任的环境,也就是不需要用户名和密码进行登陆). 查看当前所使 ...
- 不老的新丁 Python何以让人着迷
Python是一门美丽的语言.它简单易学,跨平台,而且运转良好.达成了许多Java一直求索的技术目标.一言以蔽之就是:其他的语言是与时代同 步,而Python则是未雨绸缪,而且计划得颇为出色.当然,这 ...