MySQL 5.1.73 更改 general_log 文件的时间戳格式
MySQL 5.1.73 Change timestamp format for general_log file
我正在尝试更改 MySQL 5.1.73 生成的通用日志文件的格式。
“event_time 的实际时间戳格式是:
"210909 10:32:12 12 Connect user@localhost on database"
是否可以更改其时间戳格式?
我希望格式遵循以下格式:2015-04-14 22:52:11 或什至包含遵循 RFC 3339 的时区。“1937-01-01T12:00:27.87+00:2” (UTC)
我通过在 rsyslog 中添加 mysql-general.log 文件作为 inputFile 找到了解决方案。应用模板允许我用正确的时间戳格式重写日志。
感谢您的回复/评论
另一种解决方案,我认为非常有用,尤其是当您无法重新启动 MySQL
服务器时,正在将 log
发送到 table mysql.general_log
。
按照以下步骤操作:
1. SET GLOBAL general_log=1; or SET GLOBAL general_log=ON;
2. SET GLOBAL log_output='TABLE';
如果您缺少 general_log
table 您可以创建:
CREATE TABLE `general_log` (
`event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`thread_id` bigint(21) unsigned NOT NULL,
`server_id` int(10) unsigned NOT NULL,
`command_type` varchar(64) NOT NULL,
`argument` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
您会发现如下结果:
测试于 10.4.17-MariaDB
我正在尝试更改 MySQL 5.1.73 生成的通用日志文件的格式。
“event_time 的实际时间戳格式是:
"210909 10:32:12 12 Connect user@localhost on database"
是否可以更改其时间戳格式?
我希望格式遵循以下格式:2015-04-14 22:52:11 或什至包含遵循 RFC 3339 的时区。“1937-01-01T12:00:27.87+00:2” (UTC)
我通过在 rsyslog 中添加 mysql-general.log 文件作为 inputFile 找到了解决方案。应用模板允许我用正确的时间戳格式重写日志。
感谢您的回复/评论
另一种解决方案,我认为非常有用,尤其是当您无法重新启动 MySQL
服务器时,正在将 log
发送到 table mysql.general_log
。
按照以下步骤操作:
1. SET GLOBAL general_log=1; or SET GLOBAL general_log=ON; 2. SET GLOBAL log_output='TABLE';
如果您缺少 general_log
table 您可以创建:
CREATE TABLE `general_log` (
`event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`thread_id` bigint(21) unsigned NOT NULL,
`server_id` int(10) unsigned NOT NULL,
`command_type` varchar(64) NOT NULL,
`argument` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
您会发现如下结果:
测试于 10.4.17-MariaDB