• mysql之general log 日志


    开启 general log 将所有到达MySQL Server的SQL语句记录下来。

    一般不会开启开功能,因为log的量会非常庞大。但个别情况下可能会临时的开一会儿general log以供排障使用。 
    相关参数一共有3:general_log、log_output、general_log_file

    show variables like 'general_log'; -- 查看日志是否开启

    set global general_log=on; -- 开启日志功能

    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‘.日志记录到系统专用日志表中,要比记录到文件耗费更多的系统资源,因此对于需要启用慢查日志,又需要比够获得更高的系统性能,那么建议优先记录到文件.

    2.开启数据库general_log步骤

    先执行sql指令:show variables like ‘%log%’;

    可以看到默认general_log是OFF的,我们直接开启:set global general_log = ON;(说明:此参考可以动态修改,但是重启mysql失效,弱要永久生效,则需要修改需要在my.cnf的【mysqld】中添加:general_log = 1)
    [mysqld]
    general_log=on
    general_log_file=/tmp/general.log修改完成重启数据库

    general_Log文件处理:

    当开启general_Log后,mysql中的所有操作将会记录下来,这样general_Log文件就会产生很大的文件,此时需要清空此文件来释放磁盘空间

    1、错误操作:

    网上有人建议直接删除该文件,不重启系统也会自动生成,但是通过测试,系统不会自动生产该文件

    如果删除掉,重启mysql以后,general_log出现异常

    2、正确的操作:

    清空该表,具体操作如下:

    SET GLOBAL general_log = 'OFF';

    RENAME TABLE mysql.general_log TO mysql.general_log2;

    DELETE FROM mysql.general_log2;

    文章参考于https://blog.csdn.net/u010735147/article/details/81871560

  • 相关阅读:
    Hadoop学习:Map/Reduce初探与小Demo实现
    OCR OneNote
    百度OCR识别示例
    Sqlserver 中添加数据库登陆账号并授予数据库所有者权限
    IIs 中运行asp程序出现“An error occurred on the server when processing the URL. Please contact the system administrator.”错误
    SqlServer 删除重复记录
    Chrome 制作绿色便携版
    Asp.net 在网页编写C#代码示例-- 一个简单的web MsSql 命令执行环境
    C# 中如何将List<string>里的集合转换成字符串并按指定的字符进行分隔?
    使用SQL SERVER FOR XML PATH将多个结果集转换成一行并进行去重处理
  • 原文地址:https://www.cnblogs.com/zdqc/p/11284915.html
Copyright © 2020-2023  润新知