• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 【MySQL 07】数据库恢复技术

【MySQL 07】数据库恢复技术

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了MySQL ,数据库,恢复技术等相关知识,希望本文的分享对您有所帮助

1、四种故障

事务故障、系统故障、介质故障、计算机病毒

1、事务故障:事务内部故障可分为预期的和非预期的,其中大部分的故障都是非预期的。预期的事务内部故障是指可以通过事务程序本身发现的事务内部故障;非预期的事务内部故障是不能由事务程序处理的,如运算溢出故障、并发事务死锁故障、违反了某些完整性限制而导致的故障等。

2、系统故障:系统故障也称为软故障,是指数据库在运行过程中,由于硬件故障、数据库软件及操作系统的漏洞、突然停电灯情况,导致系统停止运转,所有正在运行的事务以非正常方式终止,需要系统重新启动的一类故障。这类事务不破坏数据库,但是影响正在运行的所有事务。

3、介质故障:介质故障也称为硬故障,主要指数据库在运行过程中,由于磁头碰撞、磁盘损坏、强磁干扰、天灾人祸等情况,使得数据库中的数据部分或全部丢失的一类故障。

4、计算机病毒故障:计算机病毒故障是一种恶意的计算机程序,它可以像病毒一样繁殖和传播,在对计算机系统造成破坏的同时也可能对数据库系统造成破坏(破坏方式以数据库文件为主)。

2、解决方案

1、预期的事务内部故障:将事务回滚,撤销对数据库的修改。
2、非预期的事务内部故障:强制回滚事务,在保证该事务对其他事务没有影响的条件下,利用日志文件撤销其对数据库的修改。
3、系统故障:待计算机重新启动之后,对于未完成的事务可能写入数据库的内容,回滚所有未完成的事务写的结果;对于已完成的事务可能部分或全部留在缓冲区的结果,需要重做所有已提交的事务(即撤销所有未提交的事务,重做所有已提交的事务)。
4、介质故障的软件容错:使用数据库备份及事务日志文件,通过恢复技术,恢复数据库到备份结束时的状态。
5、介质故障的硬件容错:采用双物理存储设备,使两个硬盘存储内容相同,当其中一个硬盘出现故障时,及时使用另一个备份硬盘。
6、计算机病毒故障:使用防火墙软件防止病毒侵入,对于已感染病毒的数据库文件,使用杀毒软件进行查杀,如果杀毒软件杀毒失败,此时只能用数据库备份文件,以软件容错的方式恢复数据库文件。

3、数据恢复实现技术

数据库恢复的基本原理就是冗余,即利用存储在系统其他地方的冗余数据来重建数据库中已被破坏的数据库或不正确的那部分数据。

建立冗余数据主要包括两种方法:数据转储(Backup)和登记日志(Logging)。

803.jpg

1、数据转储

由DBA定期把整个数据库或数据库中的部分数据复制到其他磁盘上保存起来,这些备份的数据文件称为后备副本或后援副本。

静态转储:在系统中无事务运行时进行的转储操作,转储期间不允许有对数据库的任何存取或修改活动。

动态转储:转储期间允许对数据库进行存取或修改,即转储操作与用户事务并发执行。

海量转储:每次转储全部数据库。

增量转储:每次只转储上一次转储后更新过的数据。

2、登记日志

登记日志就是由系统自动记录事务对数据库的更新操作,日志通常记录在稳定存储器中。

以记录为单位的日志文件:
事务标识(标明是哪个事务)、操作类型(插入、删除或修改)、操作对象(记录内部标识)、更新前数据的旧值、更新后数据的新值

以数据块为单位的日志文件:
事务标识、被更新的数据块

登记日志文件的原则:
(1)登记的次序严格按并行事务的时间次序
(2)必须先写日志文件,后写数据库

3、检查点

以上就是 【MySQL 07】数据库恢复技术的内容,更多相关内容请关注微课江湖()!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • MySQL essential版本和普通版本有什么区别?
  • 如何用SQL命令查看Mysql数据库大小
  • 解析mysql中如何获得数据库的大小
  • 解析mysql修改为utf8后仍然有乱码的问题
  • 解析远程连接管理其他机器上的MYSQL数据库
  • MySQL timestamp自动更新时间分享
  • MySQL Order by 语句用法与优化详解
  • 深入解析mysql中order by与group by的顺序问题
  • 解析mysql不重复字段值求和
  • MySql实现跨表查询的方法详解

相关文章

  • 2017-05-11MYSQL事件查看器使用介绍
  • 2018-12-05详细了解Mysql的基础操作
  • 2017-05-11mysql+Spring数据库隔离级别与性能分析
  • 2017-05-11MySQL 删除数据库中重复数据方法小结
  • 2017-05-11MySQL异常处理浅析
  • 2017-05-11MySQL 在触发器里中断记录的插入或更新?
  • 2018-12-05mysql 卡死 大部分线程长时间处于sending data的状态
  • 2017-05-11asp+mysql+utf8 网页出现乱码问题的解决方法
  • 2017-05-11MySQL启动1053错误解决方法
  • 2018-12-05MySQL之-GTIDs Replication模式下切换Master服务器或中继服务器方法详解

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MySQL中关于加密和解密的实例详解
    • linux下mysql自动备份脚本代码
    • mysql delete limit 使用方法详解
    • 高性能MySql进化论(一):数据类型的优化_上
    • 怎样利用Hibernate来防止SQL注入的方法
    • 关于MYSQL中每个用户取1条记录的三种写法(group by xxx)
    • 一步一步教你网站同步镜像(转载)
    • C#如何连接Mysql数据库?详解报错异常和增删改查
    • Can’t open file:'[Table]mytable.MYI'
    • MySQL 数据类型 大全

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有