暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL OCP试题解析(2)

数据库干货铺 2025-05-13
204
今天继续本系列的第四篇,由于内容比较简单,就直接开放,后续的篇幅中会每篇解析5题来加快学习速度。旨在通过练习OCP试题学习相关知识点。
原题如下:
    Q4.You want to log only the changes made to the database objects and data on the MySQL system. Which log will 
    do this by default? 
    A)error log 
    B)slow query log 
    C)general query log 
    D)binary log 
    E)audit log 
    题目是问,在MySQL系统中,哪个日志默认记录数据库对象和数据的变更。选项有五个:错误日志、慢查询日志、通用查询日志、二进制日志、审计日志

    一、 选项解析

    1. Error Log(错误日志)

    错误日志主要用于记录 MySQL 服务器启动、运行或关闭过程中的错误信息、警告和关键事件(如硬件故障或权限问题)。它不记录数据变更操作,因此不符合题意。

    2. Slow Query Log(慢查询日志)

    慢查询日志记录执行时间超过设定阈值的查询语句(如 long_query_time 设置为 2 秒),用于性能优化。它仅记录慢查询,而非所有数据变更操作,因此排除。

    3. General Query Log(通用查询日志)

    通用查询日志记录所有客户端连接和执行的 SQL 语句,包括 SELECT 等非变更操作。虽然包含部分数据修改语句,但默认不启用且记录范围过广,并非专门用于变更追踪。

    4. Binary Log(二进制日志)

    二进制日志是唯一符合题意的选项。它默认记录所有对数据库的 数据变更操作(如 INSERT、UPDATE、DELETE、DDL 等),并以二进制格式存储。

    • 核心作用:支持数据恢复、主从复制和增量备份。

    • 记录逻辑:在事务提交后生成,确保数据变更的持久性和可追溯性。

    • 默认启用:与审计日志不同,二进制日志在 MySQL 中默认开启(需配置 log_bin 参数)。


    5.  Audit Log(审计日志)

    审计日志记录用户操作(如登录、权限变更等),用于安全审计和合规性检查。但它是 MySQL 企业版功能,社区版需额外插件支持,且 默认不启用,因此不符合题意。

    答案: 根据题目要求“默认”、"记录数据库对象和数据的变更",正确答案是 D) binary log(二进制日志)


    二、 对比及小结

    以下再对上面5个日志进行默认启用及用途的对比,结果如下表所示:

    日志类型
    记录内容
    默认启用
    用途
    Binary Log
    所有数据变更操作(DDL/DML)
    数据恢复、主从复制
    Error Log
    错误、警告和服务器状态信息
    故障诊断
    General Log
    所有 SQL 语句(含非变更操作)
    全量查询追踪
    Slow Query Log
    执行时间过长的查询
    性能优化
    Audit Log
    用户操作(企业版功能)
    安全审计


    另外,关于General LogSlow Query Log的写入顺序,之前还通过源码调试进行解析,感兴趣的同学可以参考历史文章进行查看

    往期精彩回顾
    扫码关注     

    文章转载自数据库干货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论