Mysql记录查询SQL日志
2024/7/15·1 views
Mysql设置变量的方法
- 利用“set GLOBAL|SESSION 需要设置的variables”语句修改;
- 利用“set @用户variables”或者“set @@系统variables”语句修改。
sql日志
sql
show variables like '%log_output%'; //查看参数
SHOW VARIABLES LIKE "general_log%"; -- 查看是否开启 普通日志
SHOW VARIABLES LIKE "%slow_query_log%"; -- 查看是否开启慢日志
SET GLOBAL log_output = 'TABLE';SET GLOBAL general_log = 'ON'; //日志开启
SET GLOBAL log_output = 'TABLE'; SET GLOBAL general_log = 'OFF'; //日志关闭
当前慢文件格式为file ,存储在数据库的数据文件中的hostname.log
可以是table格式,存储在数据库的数据文件中的mysql.general_log
设置通用日志输出为表方式:
sql
set global log_output = 'file';
设置通用日志输出为表和文件方式:
sql
set global log_output = 'file,table';
可以编辑my.ini文件
general_log = 1
general_log_file = /var/log/mysql/general_sql.log
binlog
开启binlog
修改配置文件
log-bin=mysql-bin
server-id=1
binlog_format=MIXED
sql
show variables like 'log_bin' -- 查看是否开启bin-log
show master status -- 查看当前的日志
查看blnlog
由于binlog以是binary方式存取,不能直接查看,需要用mysql提供的mysqlbinlog工具查看。
删除binlog
- 用reset master命令删除所有日志,新日志重新从000001开始编号
- 用purge master logs to 'mysq-bin.******' 命令可以删除指定编号前的所有日志
- 用purge master logs to before 'YYYY-MM-DD HH24:MI:SS'命令可以删除'YYYY-MM-DD HH24:MI:SS'之前的产生的所有日志
- 可以在my.cnf中指定--expire_logs_days=#,此参数设置了binlog日志的过期天数