mysql日志
一. 隔离级别
1) 一共4级
-
READ UNCOMMITTED:最低隔离级别,允许读取未提交的数据(脏读)。
-
READ COMMITTED:允许读取已提交的数据,但不能重复读。
-
REPEATABLE READ(默认级别):保证在同一个事务中多次读取同样记录的结果是一致的。
-
SERIALIZABLE:最高隔离级别,事务串行化执行,避免了并发问题
2)查看当前级别命令
SELECT @@tx_isolation;
二.日志
1)部分日志作用
1. 通用查询日志:记录所有用户执行的命令,适合全面监控。
2. 慢查询日志:记录执行时间较长的查询,适合性能分析。
3. SHOW PROCESSLIST
:查看当前正在执行的会话和命令。
4. 审计插件:记录所有用户操作,适合安全审计。
2)日志文件位置
查看错误日志路径命令: (错误日志记录了 MySQL 服务器启动、运行和关闭过程中的错误信息)
SHOW VARIABLES LIKE 'log_error';
查看通用查询日志路径命令:(通用查询日志记录了所有客户端执行的 SQL 语句)
SHOW VARIABLES LIKE 'general_log_file';
查看慢查询日志路径命令: (慢查询日志记录了执行时间超过指定阈值的查询)
SHOW VARIABLES LIKE 'slow_query_log_file';
查看二进制日志路径命令:(二进制日志记录了所有修改数据库的操作,用于复制和恢复)
SHOW VARIABLES LIKE 'log_bin_basename';
三.日志开启
1) mysql日志启用慢查询(配置文件通常是 /etc/my.cnf)
1.查看是不是开启(ON是开启,OFF是关闭)
SHOW VARIABLES LIKE 'slow_query_log';
查看慢查询的执行时间阈值(单位:秒)
SHOW VARIABLES LIKE 'long_query_time';
2.开启,修改配置文件
[mysqld]
slow_query_log = 1
slow_query_log_file = /var/lib/mysql/test3-slow.log
long_query_time = 1
2)二进制日志启用
1.查看是不是开启(ON是开启,OFF是关闭)
SHOW VARIABLES LIKE 'log_bin';
2.开启,修改配置文件
[mysqld]
log_bin = /var/log/mysql/mariadb-bin
3.查看二进制日志文件
SHOW BINARY LOGS;
3)审计启用
1.进入mysql,先安装插件
INSTALL SONAME 'server_audit';
2.添加配置文件
[mysqld]
server_audit_logging = ON
server_audit_file_path = /var/log/mysql/audit.log
server_audit_events = QUERY_DDL,QUERY_DML,QUERY_DCL,CONNECT
# 可选,不记录某用户
server_audit_excl_users = zabbix
3.查看是否开启(一般是开启的,说明成功)
SHOW GLOBAL VARIABLES LIKE 'server_audit_logging';
4.#错误处理
如果没启动手动启动(有报错)
SET GLOBAL server_audit_logging = ON;
查看报错
SHOW WARNINGS;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义