目录
1. MySQL 服务器都提供了哪几种类型的日志文件?说明每种日志的用途。
3. 请说明常规查询日志和慢速查询日志在记录的内容上有何不同。
4. 如何配置才能将慢速查询日志和常规查询日志在文件和表里同时保存?
5. 从 DBA 的角度,谈一下使用 Performance schema 的目的或作用?
6. Performance schema 中的顶级检测组件都有哪些?
7. 请谈一下 MySQL 8.0 新增加的 sys 模式的作用。
8. 使用 audit_log_filter_linux_install.sql 脚本可以配置基于规则的 MySQL 审计功能,这句话对吗?
9. MySQL Enterprise Monitor 都能提供哪些管理数据库的功能?
10. 请给出 SHOW PROCESSLIST 命令输出的列名,并说出每个列的作用。
1. MySQL 服务器都提供了哪几种类型的日志文件?说明每种日志的用途。
MySQL
服务器的日志文件类型及用途:
①
错误日志 (Error Log)
:记录 MySQL
服务器在启动、运行或停止过程中遇到的错误信息。主要用于排查服务器的运行问题。
②
查询日志 (General Query Log)
:记录所有连接到 MySQL 服务器的客户端执行的所有 SQL
语句。用于调试和监控 SQL 活动。
③
慢查询日志 (Slow Query Log)
:记录执行时间超过指定阈值的 SQL
语句。用于发现性能瓶颈。
④
二进制日志 (Binary Log)
:记录所有更改数据的 SQL 语句(如 INSERT、UPDATE、DELETE
等)。主要用于复制和数据恢复。
⑤
中继日志 (Relay Log)
:在主从复制架构中,从服务器用于接收主服务器的二进制日志,并在从服务器上执行这些日志。
⑥
审计日志 (Audit Log)
:记录有关用户连接和查询的信息,用于审计目的。
2. MySQL 8.0 默认启用哪两种日志记录?
MySQL 8.0 默认启用的两种日志记录:
错误日志 (Error Log);
二进制日志 (Binary Log)。
3. 请说明常规查询日志和慢速查询日志在记录的内容上有何不同。
常规查询日志和慢速查询日志的内容区别:
① 常规查询日志:记录
所有执行的 SQL 语句,无论查询的执行时间和成功与否。
② 慢速查询日志:仅记录
执行时间超过指定阈值的 SQL 语句,重点用于检测性能低下的查询。
4. 如何配置才能将慢速查询日志和常规查询日志在文件和表里同时保存?
同时将慢速查询日志和常规查询日志保存在文件和表中的配置方法:
修改 MySQL 配置文件或通过命令行设置:
SET GLOBAL log_output = 'FILE,TABLE';
SET GLOBAL general_log = 'ON';
SET GLOBAL slow_query_log = 'ON';
这将日志输出设置为文件和表同时保存,并开启常规查询日志和慢速查询日志。
5. 从 DBA 的角度,谈一下使用 Performance schema 的目的或作用?
使用 Performance Schema
的目的或作用:
①
监控与分析:用于监控 MySQL 服务器的性能,提供详细的执行事件统计和资源使用情况。
②
排查问题:帮助 DBA 识别性能瓶颈、分析 SQL 查询的执行情况,并优化数据库性能。
③
审计与跟踪:提供详细的审计功能,可以记录线程、锁定、等待时间等信息。
6. Performance schema 中的顶级检测组件都有哪些?
Performance Schema
中的顶级检测组件:
事件等待 (Events Waits);
事件阶段 (Events Stages);
事件语句 (Events Statements);
事件事务 (Events Transactions);
计数器和汇总 (Counters and Summaries)。
7. 请谈一下 MySQL 8.0 新增加的 sys 模式的作用。
MySQL 8.0 新增加的 sys
模式的作用:
①
便捷查询:提供了一组视图和存储过程,用于简化从 Performance Schema 和 Information
Schema 中提取信息的操作。
②
系统健康监控:通过 sys 模式的视图,可以快速了解系统的性能状况,检查配置建议和运行
统计信息。
③
性能优化:帮助 DBA 和开发人员快速识别和解决性能问题。
8. 使用 audit_log_filter_linux_install.sql 脚本可以配置基于规则的 MySQL 审计功能,这句话对吗?
正确;
使用 audit_log_filter_linux_install.sql 脚本可以配置基于规则的 MySQL 审计功能。
9. MySQL Enterprise Monitor 都能提供哪些管理数据库的功能?
MySQL Enterprise Monitor
提供的管理功能:
① 监控数据库性能:实时监控数据库的运行状态、负载、查询性能等。
② 安全审计:提供合规性审计功能,跟踪和记录用户活动。
③ 复制监控:监控主从复制的健康状况,检测延迟和故障。
④ 备份管理:帮助管理和监控数据库备份的状态。
⑤ 性能调优:提供性能建议和自动化优化工具。
10. 请给出 SHOW PROCESSLIST 命令输出的列名,并说出每个列的作用。
SHOW PROCESSLIST
命令输出的列名及作用:
① Id:连接的 ID,用于标识客户端连接。
② User:执行该进程的用户。
③ Host:用户连接的主机和端口。
④ db:当前进程使用的数据库。
⑤ Command:当前执行的命令,如 Sleep、Query 等。
⑥ Time:命令执行的时间(秒)。
⑦ State:当前命令的状态,如 Waiting for query cache lock 等。
⑧ Info:当前执行的 SQL 语句或命令的详细信息。