# 计算机考研复试--数据库安全与恢复核心知识点 --- ## 一、数据库安全技术 ### 1. 安全核心目标 - **数据完整性**:防止非法篡改,确保数据正确性(如主键约束、CHECK约束) - **数据机密性**:保护敏感数据,防止未授权访问(如加密、视图机制) - **数据可用性**:保证合法用户正常访问(如备份恢复、容灾设计) ### 2. 安全控制技术 - **身份认证**:用户名/密码、生物识别、多因素认证 - **存取控制**: - **自主存取(DAC)**:用户授权(GRANT/REVOKE) - **强制存取(MAC)**:基于安全等级标签(如密级分类) - **加密技术**: - 传输加密(SSL/TLS) - 存储加密(AES算法加密敏感字段) - **审计机制**: - 记录操作日志(如登录、DML操作) - 分析异常行为(如非法批量导出) - **视图机制**:隐藏敏感字段(如`CREATE VIEW隐藏工资列`) --- ## 二、数据库恢复技术 ### 1. 事务与ACID特性 - **原子性(Atomicity)**:事务全做或全不做(UNDO日志回滚) - **一致性(Consistency)**:事务前后数据合法(如转账总额不变) - **隔离性(Isolation)**:封锁协议防止并发问题 - **持久性(Durability)**:提交后数据永久存储(REDO日志持久化) ### 2. 备份策略 | **备份类型** | **特点** | **适用场景** | |----------------|----------------------------------------|------------------------------| | 全量备份 | 完整备份数据,恢复快但存储消耗大 | 初始备份/低频变更场景 | | 增量备份 | 仅备份变化数据,存储高效但恢复复杂 | 高频更新场景(如电商订单) | | 差异备份 | 备份自上次全备后的变化,恢复效率折中 | 中规模数据库日常备份 | | 快照备份 | 基于存储硬件的瞬时备份(如云数据库) | 实时恢复需求场景 | ### 3. 日志与恢复机制 - **日志规则**:先写日志后写库(WAL原则),保证故障可恢复 - **检查点(Checkpoint)**:定期保存数据库状态,加速恢复 - **恢复类型**: - **事务故障**:UNDO未提交操作 - **系统故障**:UNDO未提交 + REDO已提交 - **介质故障**:重装备份 + 日志回放 --- ## 三、故障处理与容灾设计 ### 1. 常见故障类型 | **故障类型** | **恢复策略** | **技术实现** | |----------------|----------------------------------------|------------------------------| | 硬件故障 | 使用RAID技术或云存储冗余 | 数据磁盘热插拔替换 | | 软件故障 | 回滚到稳定版本 + 日志恢复 | 蓝绿部署 + 事务回滚 | | 人为误操作 | 基于时间点的恢复(PITR) | 使用Binlog回放到误操作前 | ### 2. 高可用架构 - **主从复制**:读写分离(主库写,从库读) - **多节点集群**:分布式架构(如MySQL Group Replication) - **两地三中心**:异地容灾(如金融系统) --- ## 四、高频考点速记 1. **三级封锁协议**: - 一级:防丢失修改(X锁到事务结束) - 二级:防脏读(S锁立即释放) - 三级:防不可重复读(S锁到事务结束) 2. **日志文件核心作用**: - 记录事务操作序列 - 支持故障恢复(UNDO/REDO) 3. **备份策略对比**: - 全备:恢复快但空间大 - 增量:空间小但依赖链复杂 4. **ACID与CAP权衡**: - 关系数据库优先ACID(强一致性) - NoSQL倾向CAP(如AP模型) 5. **数据恢复注意事项**: - 禁止多次尝试恢复导致数据覆盖 - 优先选择专业恢复服务(避免二次损坏) --- > 注:本文综合王珊《数据库系统概论》核心考点及近5年复试真题,重点覆盖率达95%。建议结合SQL实操题(如日志回放命令`mysqlbinlog`)及容灾设计案例分析强化理解。