文档详情

《数据库原理及应用教程-MySQL8.0》课件 第12章 数据库的备份与恢复.ppt

发布:2025-04-16约8.95千字共45页下载文档
文本预览下载声明

12.2.2数据库恢复策略5类事务T1~T5分别进行以下几种不同的处理:(1)对于T1这类事务不需要重做,因为它们的更新已在检查点time1时刻写入了物理数据库。(2)T2和T4这类事务发生故障前已经成功提交,但因为还没到下一个检查点,所以它们对数据库的更新仍在内存缓冲区中,未写入物理数据库,需要重做。(3)T3和T5这类事务发生故障前还未结束,所以它们对数据库的更新需要撤销。12.2.2数据库恢复策略3.介质故障的恢复介质故障是最严重的一种故障,破坏性很大,磁盘上的物理数据和日志文件可能被破坏,这需要恢复发生介质故障前最新的数据库备份,然后利用日志文件重做该备份后所有已完成的事务。(1)首先装入最新的数据库备份,使数据库恢复到最近一次备份时的可用状态。(2)然后根据最新的数据库备份后日志文件中的内容重做已完成的事务。首先反向扫描日志文件,找出故障发生时己提交的事务,将其记入重做队列,然后正向扫描日志文件,对重做队列中的各个事务进行重做处理。12.2.2数据库恢复策略注意:静态备份的数据库,恢复后数据库即处于一致性状态。动态备份的数据库,还须同时装入备份时刻的日志文件,利用与恢复系统故障相同的方法(即相应事务的重做或撤销),才能将数据库恢复到一致性状态。12.2.3数据库恢复操作1.自动恢复自动恢复是指数据库发生事务故障或系统故障时MySQL服务器都自动运行的带有容错功能的特性。对于事务故障,自动撤销该事务完成的所有操作;对于系统故障,检查所有自最新的检查点以来发生的事务,标识所有已经提交的事务,把它们重新应用于数据库,标识所有未提交的事务将它们回滚。这个过程保证了每个数据库逻辑上的一致性。12.2.3数据库恢复操作2.手动恢复如果数据库发生介质故障或者病毒入侵、自然灾害、人为破坏、用户误操作等造成数据库破坏时,则恢复最新的数据库备份,并根据日志文件重做备份后提交的事务。如果仅使用完全备份来恢复数据库,则恢复最新的备份即可。12.2.3数据库恢复操作2.手动恢复MySQL的数据库恢复操作可以使用可视化管理工具(比如navicat)通过菜单和界面进行,也可以在CMD命令提示符窗口使用相应的命令语句进行。两种方式都是执行数据库备份文件(.sql脚本文件),使数据库恢复到数据库备份时的状态。如果要恢复的是单个数据库,则此数据库必须存在,只是已被破坏,如果数据库已经丢失,需要重新创建此数据库,否则恢复过程中会出错,重建的数据库可以与备份时的数据库不同名;如果恢复的是多个数据库,则数据库存在与否均可以。12.2.3数据库恢复操作(1)利用navicat恢复据库(2)使用mysql命令恢复数据库mysql–uusername–ppassword[database_name]path\filename.sql【例12-4】通过多数据库备份t_b.sql文件恢复teaching和bankcard数据库。mysql–uroot–pe:\data\t_b.sql12.2.3数据库恢复操作(3)使用增量备份恢复数据库一般是恢复最新的完全备份后再恢复最新增量备份。因为MySQL是通过二进制日志间接实现的,所以要依次恢复完全备份后的每一个代表增量备份的二进制日志文件。首先恢复完全备份teach_backup.sql,然后恢复增量备份DESKTOP-LAI8BRJ-bin.000051。mysql–uroot–pteachinge:\data\teach_backup.sqlmysqlbinlog“c:\programdata\mysql\mysqlserver8.0\data\DESKTOP-LAI8BRJ-bin.000051”|mysql–uroot-p12.3数据的导入/导出通过导入和导出数据的操作,可以将MySQL数据库中的表导出成sql脚本文件、txt文本文件、excel文件、html文件、xml文件等等,也可以将这些类型的文件导入到MySQL数据库中。在数据库的日常维护中,经常需要进行数据库表的导入导出。可以采用可视化管理工具的导出向导、也可以采用SQL语句完成表的导入导出。12.3.1导出数据数据的导出是将MySQL数据库中的表导出成文本文件、电子表格或其他格式的数据文件中。1.使用导出向导导出数据【例12-5】将teaching中student表导出至G:\data文件夹下形成st.xls文件。12.3.1导出数据2.使用SQL语句导出数据SELECTcolumn_listFROMtable_name[WHEREcond

显示全部
相似文档