• MySQL的general日志


    起因是一个客户的MySQL数据的data目录下会生成一个 名为ubuntu.log的日志且文件占用空间极大,平均每2周500G,所以才产生了处理该问题的想法。后来查询了相关资料其实就是一般日志开启了,但是又未指定其路径及名称所以就会一头雾水。

    MySQL的general日志是MySQL提供的一种记录所有SQL语句执行的日志文件。该日志文件可以用于调试和分析应用程序的性能问题,但在生产环境中应谨慎使用,因为会记录敏感信息,且生成的日志文件占用磁盘空间极大。

    以下是MySQL的general日志配置详解:

    打开MySQL配置文件my.cnf或my.ini。

    在[mysqld]部分中添加以下行:

    1. general_log=1
    2. 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查询都会写入日志文件。因此,在生产环境中,应仅在需要时启用日志,并及时禁用它。

    1. SET GLOBAL log_output = 'TABLE';
    2. SET GLOBAL general_log = 'ON';

    这是将日志放在mysql.general_log表中可以查询

    SET GLOBAL general_log_file = '/var/lib/mysql/mysql-general.log'; -- 设置日志的位置

    如果配置后文件中没有生效的话就配置为

    1. SET GLOBAL log_output = 'TABLE,FILE';
    2. SHOW VARIABLES LIKE 'general_log%'; -- 查看配置
    3. SELECT DATE_FORMAT(event_time, '%Y-%m-%d %H:%i:%s') AS time
    4.        user_host, 
    5.        thread_id, 
    6.        server_id, 
    7.        command_type, 
    8.        CAST(argument AS CHAR) AS query 
    9. FROM mysql.general_log;  --查看日志

     以下再推荐几种设置方式

    第一种方法是通过修改MySQL配置文件来关闭日志。首先,使用vi等编辑器打开MySQL的配置文件my.cnf,找到以下两行代码:

    1. log_error=/var/log/mysql/error.log
    2. general_log_file=/var/log/mysql/mysql.log

    将这两行代码前面加上#符号使其注释掉即可关闭日志。如果需要重新开启日志,只需将#符号去掉即可。

    第二种方法是通过MySQL命令行关闭日志。打开MySQL命令行,输入以下命令:

    1. SET global general_log=0;
    2. SET global slow_query_log=0;

    这样就可以将MySQL的普通日志和慢查询日志关闭。如果需要重新开启,只需将0改为1即可。

  • 相关阅读:
    载二氢丹参酮Ⅰ白蛋白纳米粒/去甲斑蝥素白蛋白纳米粒/伏立康唑白蛋白纳米粒的制备研究
    vue2 使用 vue-video-player 播放m3u8 流地址视频
    『进阶之路』- 揭开ThreadLocal神秘面纱
    深入解析css-笔记
    带你了解极具弹性的Spark架构的原理
    批量上传文件,以input上传文件,后端以List<MultipartFile>类型接收
    谈一谈SQLite、MySQL、PostgreSQL三大数据库
    【语音之家】AI产业沙龙—火山语音在AI视频译制方向的技术探索与实践
    Ubuntu 20.04 设置开机自启脚本
    QT编程,QT内存管理、信号与槽、
  • 原文地址:https://blog.csdn.net/LiF29103/article/details/133238388