【问题标题】:How to enable --general-log without restarting the MYSQL server?如何在不重启 MYSQL 服务器的情况下启用 --general-log?
【发布时间】:2019-04-05 12:47:51
【问题描述】:

根据 mysql 文档,此标志可以动态更改。

Property    Value
Command-Line Format --general-log
System Variable general_log
Scope   Global
Dynamic Yes
SET_VAR Hint Applies    No
Type    Boolean
Default Value   OFF

但默认情况下,此选项是禁用的。但我需要启用此标志才能在不重新启动服务器的情况下查看日志。在不重新启动服务器的情况下启用此功能的方法是什么。

【问题讨论】:

    标签: mysql mysqladministrator


    【解决方案1】:

    MySQL 提供了一个系统变量general_log,它指定是否启用通用查询日志。您只需执行以下查询即可启用GLOBAL 日志记录(也适用于所有其他客户端会话):

    SET GLOBAL general_log = 'ON';
    

    你也可以指定log file path:

    SET GLOBAL general_log_file = '/var/log/mysql/all.log';
    

    请记住,当您重新启动服务器时,这些设置将会丢失。要使更改持久化,您必须在配置文件中进行更改。


    如果要禁用常规查询日志记录,可以执行以下操作:

    SET GLOBAL general_log = 'OFF'
    

    【讨论】:

    • 我建议在这个mysql日志文件中添加和配置一个logrotation过程,它会在几天内变大取决于规模和使用情况,并且可以增加你的磁盘空间。这可以通过 linux 上的 logrotation 守护进程来实现。
    猜你喜欢
    • 2011-09-19
    • 2014-04-10
    • 2012-06-10
    • 1970-01-01
    • 2019-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多