mysql-13 数据库恢复技术

mysql-13 数据库恢复技术

一、相关概念

1、事务

1)定义

  事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。

2)定义事务的语句

  • begin transaction:开始
  • commit:提交(事务正常结束)
  • rollback:回滚(事务运行故障,撤销所有已完成操作)

3)注意事项

  • 事务通常以begin transaction开始,以commit或rollback结束;

4)事务特性(ACID)

  • Atomic(原子性)

      指整个数据库事务是不可分割的工作单位。只有使据库中所有的操作执行成功,才算整个事务成功;事务中任何一个SQL语句执行失败,那么已经执行成功的SQL语句也必须撤销,数据库状态应该退回到执行事务前的状态。

  • Consistency(一致性)

      指数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。例如对银行转帐事务,不管事务成功还是失败,应该保证事务结束后转账方和收款方存款总额不变。

  • Isolation(隔离性)

      指的是在并发环境中,当不同的事务同时操纵相同的数据时,每个事务都有各自的完整数据空间。

  • Durability(持久性)

      指的是只要事务成功结束,它对数据库所做的更新就必须永久保存下来。即使发生系统崩溃,重新启动数据库系统后,数据库还能恢复到事务成功结束时的状态。

2、故障

1)事务内部故障

  非预期,不能由应用程序处理;例如运算移除、并发事务思索而被选中撤销该事务、违反了某些完整性限制而被终止等;

  恢复方法:回滚

2)系统故障(俗称“软故障”)

  造成系统停止运转的任何时间,使得系统需要重启;例如CPU故障、操作系统故障、DBMS代码错误、系统断电等;

  恢复方法:回滚+重做(已完成事务)

3)介质故障(俗称“硬故障”,此故障最为严重

  外存故障,例如磁盘损坏、磁头碰撞、瞬间强磁场干扰等;

  恢复方法:重装(数据库)+重做(已完成事务)

4)计算机病毒(数据库系统的主要威胁

  人为的故障或破坏;

3、日志

  日志文件可以用来进行实物故障恢复和系统故障恢复,并协助后备副本进行介质故障恢复;

登记日志文件的两条原则

1)登记次序必须严格按照并发事务执行的时间顺序;

2)必须先写日志文件,后写数据库;

说明:先写日志文件,按照日志文件恢复时,只不过多了一些undo操作,不会影响数据库正确性;而先写到数据库后写到日志文件,有可能在此二者之间发生故障。

欢迎打赏,谢谢
------ 本文结束------
0%