Q1: 数据库恢复问题
A clean shutdown was performed with innodb_fast_shutdown=0. While you were manipulating files, all files were accidentally deleted from the top-level data directory. Which two files must be restored from backup to allow the DB to restart cleanly? A)ibdata1 B)mysql.ibd C)ib_logfile0 D)ibtmp1 E)ib_buffer_pool F)undo_001
题目意思是:在innodb_fast_shutdown=0的情况下进行了干净的关闭,然后不小心删除了数据目录中的所有文件。问必须从备份中恢复哪两个文件才能让数据库干净地重启
1. 选项解析
A) ibdata1
正确。
作用:InnoDB系统表空间文件,包含数据字典、双写缓冲区(Doublewrite Buffer)、插入缓冲区(Change Buffer)等核心元数据。
必要性:数据字典是InnoDB存储引擎的基础,记录了所有表、索引、列的定义和关系。即使执行了干净关闭(innodb_fast_shutdown=0),系统表空间的元数据仍需通过ibdata1重建数据库结构。
结论:必须恢复,否则数据库无法启动。
B) mysql.ibd
正确
作用:存储mysql系统数据库的表数据,包括用户权限、存储过程、事件等元信息
必要性:mysql系统库是MySQL服务启动时的核心依赖,若丢失会导致无法验证用户权限或加载插件,从而启动失败。即使ibdata1恢复,若mysql.ibd缺失,系统表结构不完整,服务仍无法正常启动
结论:必须恢复
C) ib_logfile0
错误
作用:InnoDB的重做日志(Redo Log),用于崩溃恢复时重放未持久化的操作
必要性:在innodb_fast_shutdown=0的干净关闭场景下,所有脏页已刷盘,重做日志不再包含未提交事务,数据库重启时无需依赖这些日志
结论:无需恢复
D) ibtmp1
错误
作用:临时表空间文件,存储临时表和排序操作产生的中间数据
必要性:MySQL重启时会自动重建ibtmp1文件,即使文件丢失也不影响启动
结论:无需恢复
E) ib_buffer_pool
错误
作用:缓冲池的磁盘缓存,用于加速重启时热数据的加载
必要性:该文件仅优化性能,缺失时数据库仍能正常启动,但缓冲池初始化速度较慢。
结论:无需恢复
F) undo_001
错误
作用:MySQL 8.0中独立的Undo表空间文件,用于存储事务回滚日志
必要性:在干净关闭后,Undo日志已通过innodb_fast_shutdown=0完成清理和持久化,且MySQL 8.0支持动态重建Undo表空间文件
结论:无需恢复
2. 相关知识点总结
2.1 innodb_fast_shutdown参数的作用
=0:执行完整关闭流程,包括清理Undo日志、合并插入缓冲区、刷新所有脏页到磁盘,确保数据一致性
=1(默认值):跳过部分清理操作,重启时需恢复未提交事务
=2:仅写入日志文件,不刷盘,重启时需执行完整恢复
2.2 关键文件的作用与恢复优先级
ibdata1和mysql.ibd:直接影响数据库启动的核心文件,必须从备份恢复
重做日志(ib_logfile*):仅在非干净关闭或崩溃恢复时需保留
临时文件(ibtmp1)和缓冲池(ib_buffer_pool):可自动重建,无需恢复
2.3 MySQL 8.0的改进
默认启用独立Undo表空间(undo_001等),支持动态调整大小
系统表空间(ibdata1)仅存储元数据,用户表数据默认存储在独立的.ibd文件中(需开启innodb_file_per_table)
Q2: MySQL Enterprise Backup(MEB)工具
Which two statements are true about MySQL Enterprise Backup? A)It supports the creation of incremental backups. B)It creates logical backups. C)It supports restoring to a remote MySQL system. D)It supports backing up only table structures. E)It supports

2739

被折叠的 条评论
为什么被折叠?



