MySQL开启记录执行过的SQL语句方法

本文主要介绍一种让MySQL记录执行的SQL语句的方法。
配置方法非常简单。
本文直接提供了配置示例。
如果需要的话,可以参考一下概述。
由MySQL执行,比如注入MySQL后,需要知道造成了什么损害等。
只要有SQL语句记录,就可以了解情况并采取对策。
服务器可以启用MySQL的SQL语句日志功能,从而间接检测客户端程序的行为。
方法:启用方法很简单:编辑文件/etc/my.cnf,在[mysqld]部分添加log=/var/lib/mysql/sql_row.log这行(根据定义日志的路径根据您的需要)。
代码如下:[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysql#Defaulttousingoldpasswordformatforcompatibilitywithmysql3.x​#clients(packagescompatibilitythemysqlclient10)。
 old_passwords=1【log=/var/lib/mysql/sql_row.log】#禁用符号链接建议停止预防各类安全风险;#todoso,取消注释这一行:#symbolic-links=0[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid修改后记得重启MySQL:代码如下:servicemysqlrestart#or/etc/init.d/mysqldstop/etc/init.d/mysqldstart

mysql怎么查询执行sql的记录

--启用sql执行日志功能

setgloballog_output='TABLE';--输出到表

setgloballog=ON;--启用所有命令

执行general_log日志功能,所有语句:成功和失败成功。

setgloballog_slow_queries=ON;--打开查询sql记录Slow

slow_log,执行成功:慢查询语句和未使用的索引语句

setgloballong_query_time=0.1;--慢查询时间限制(秒)

setgloballong_query_time=0.1;--慢查询时间限制(秒)

setgloballog_queries_not_using_indexes=ON;--记录不使用索引的SQL语句

--记录查询的SQL执行

select*fromql.slow_logorderby1;--执行成功:慢查询语句和不使用索引的语句

select*frommysql.general_logorderby1;--所有语句:成功和不成功.--关闭sql执行日志