热备(在线备份):在数据库运行时直接备份,对数据库 *** 作没有任何影响。
温备:在数据库运行时加全局读锁备份,保证了备份数据的一致性,但对性能有影响。
热备流程
备份开始时,记录重做日志的日志序号(LSN)。
复制共享表空间和独立表空间的文件。
复制完后,再次记录重做日志的日志序号(LSN)。
通过前面记录的日志序号来复制在备份时产生的重做日志。
冷备优点
备份简单,只需要复制相关文件即可。
恢复简单而且速度快,不需要执行任何 SQL 语句,也不需要重建索引。
复制
数据库复制的原理是异步实时的将二进制日志(binlog) 重做并应用到从数据库。
对于MySQL数据库,备份与恢复相关的术语包括:备份(backup)、还原(restore)、恢复(recover)、二进制日志(binlog),其中备份按照其特性可以分为:物理备份和逻辑备份冷备、温备和热备完全备份和不完全备份等常用的备份工具包括: *** 作系统拷贝、mysqldump等还原包括物理备份的还原和逻辑备份的还原下面分别加以介绍和说明。
数据库备份通俗地说是将数据库的某一时刻的数据复制了一份数据库还原是将备份出的数据替换掉原来数据库中的数据文件,将备份放回到原来数据库文件的目录位置二进制日志(BINLOG)记录数据库的变更过程,例如创建数据库、建表、修改表等DDL *** 作、以及数据表的相关DML *** 作,这些 *** 作会导致数据库产生变化,开启binlog以后导致数据库产生变化的 *** 作会按照时间顺序以“事件”的形式记录到binlog二进制文件中。
参考上图,在凌晨2:00,管理员将已开启二进制日志的数据库的数据做了一个完整的备份,随着时间的推移,仍然有用户对数据库进行相关的写 *** 作(包括:DDL语句、DML语句中的增删改 *** 作、DCL授权语句和TCL事务处理语句等),导致了二进制日志文件写满(默认1G)后自动切换在上午9:37时,由于硬盘出现故障,数据库用户不能正常访问存放在硬盘中的数据库数据,此时如果数据库备份和二进制日志没有损坏,管理员是可以通过还原备份和恢复二进制日志的方式挽回数据损失的。
挽回数据损失的过程包括:1.更换新硬盘2.还原备份3.重做备份到故障时段的二进制日志中的语句等正常情况不会造成数据的丢失,损失的仅仅是一段时间的停机时间。
上例中,还原数据备份时,数据库中的数据回到了备份时刻的状态,而二进制日志中记录了从备份到故障前一段时间内所有用户对数据库的写 *** 作的语句,只要把这些语句按照时间顺序重新运行一遍,所还原的数据就会变成为故障前那一刻的状态,不会造成数据丢失。因此通常把保存在二进制日志中的语句重新执行的过程叫做恢复。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)