MySQL OCP试题解析(6)

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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据库干货铺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值