mysql查看历史执行语句(general log)
开启日志模式
说明:
开启 general log 将所有到达MySQL Server的SQL语句记录下来。
一般不会开启开功能,因为log的量会非常庞大。但个别情况下可能会临时的开一会儿general log以供排障使用。
1、临时开启设置,重启失效
SET GLOBAL log_output = 'TABLE';SET GLOBAL general_log = 'ON'; //日志开启
SET GLOBAL log_output = 'TABLE'; SET GLOBAL general_log = 'OFF'; //日志关闭
show variables like 'general_log'; //查看是否开启
show variables like 'general_log_file'; -- 看看日志文件保存位置
set global general_log_file='tmp/general.lg'; -- 设置日志文件保存位置
show variables like 'log_output'; -- 看看日志输出类型 table或file
set global log_output='table'; -- 设置输出类型为 table
set global log_output='file'; -- 设置输出类型为file
说明:
log_output=’FILE’ 表示将日志存入文件,默认值是FILE
log_output=’TABLE’表示将日志存入数据库,这样日志信息就会被写入到mysql.slow_log表中.
mysql数据库支持同时两种日志存储方式,配置的时候以逗号隔开即可,如:log_output=‘FILE,TABLE‘.日志记录到系统专用日志表中,要比记录到文件耗费更多的系统资源,因此对于需要启用慢查日志,又需要比够获得更高的系统性能,那么建议优先记录到文件.
要永久生效,则需要修改需要在my.cnf的【mysqld】中添加:general_log = 1
2、查询
SELECT * from mysql.general_log ORDER BY event_time DESC;
3、清空表(delete对于这个表,不允许使用,只能用truncate)
truncate table mysql.general_log;
ps:在查询到所需要的记录之后,应尽快关闭日志模式,占用磁盘空间比较大
mysql查看历史执行语句(general log)
https://www.hechunyu.com/archives/mysqlcha-kan-li-shi-zhi-xing-yu-ju-general-log