MySQL的general日志是MySQL提供的一种记录所有SQL语句执行的日志文件。该日志文件可以用于调试和分析应用程序的性能问题,但在生产环境中应谨慎使用,因为会记录敏感信息。
以下是MySQL的general日志配置详解:
打开MySQL配置文件my.cnf或my.ini。
在[mysqld]部分中添加以下行:
general_log=1
general_log_file=/path/to/general.log
其中,general_log参数指定是否启用general日志,1表示启用,0表示禁用;general_log_file参数指定日志文件的路径和名称。如果没有指定路径,则日志文件将保存在MySQL数据目录下。
重新启动MySQL服务器,以使更改生效。
访问MySQL服务器,并执行一些SQL查询。
使用命令tail或cat查看日志文件,以确保日志文件正在记录SQL查询。
如果不再需要日志文件,请将general_log参数设置为0,并重新启动MySQL服务器。
请注意,启用general日志会影响MySQL服务器的性能,因为每个SQL查询都会写入日志文件。因此,在生产环境中,应仅在需要时启用日志,并及时禁用它。
SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';
这是将日志放在mysql.general_log表中可以查询
SET GLOBAL general_log_file = '/var/lib/mysql/mysql-general.log'; -- 设置日志的位置
如果配置后文件中没有生效的话就配置为
SET GLOBAL log_output = 'TABLE,FILE';
SHOW VARIABLES LIKE 'general_log%'; -- 查看配置
SELECT DATE_FORMAT(event_time, '%Y-%m-%d %H:%i:%s') AS time,
user_host,
thread_id,
server_id,
command_type,
CAST(argument AS CHAR) AS query
FROM mysql.general_log; --查看日志