可以将时间戳存储在mysql历史文件/root/.mysql_history中吗?

时间:2016-09-19 23:16:34

标签: mysql linux

我正在尝试识别执行的mysql命令的时间戳。 在/root/.mysql_history文件中只有命令,没有找到时间。

可以使用任何配置将时间戳存储在Linux中的mysql历史文件/root/.mysql_history中吗?

1 个答案:

答案 0 :(得分:0)

如果您调用mysql --syslog,客户端将写入您在系统日志中执行的查询的日志,包括日期和日期。时间。

在Linux上,此日志位于/ var / log / messages中。在Mac上,它是/var/log/system.log。在Windows上,它是Windows事件日志。

请参阅https://dev.mysql.com/doc/refman/5.7/en/mysql-logging.html

您也可以默认启用此选项,方法是修改/etc/my.cnf或您的个人$HOME/.my.cnf

[mysql]
syslog

我在我的VM中尝试了这个,我在/ var / log / messages中得到了以下内容。我尝试了两次,一次使用命令行选项,然后使用config-file选项。

Sep 19 16:09:30 sandbox-centos mysql: SYSTEM_USER:'vagrant', MYSQL_USER:'root', CONNECTION_ID:215, DB_SERVER:'127.0.0.1', DB:'--', QUERY:'select 'now is the time';'
Sep 19 16:10:02 sandbox-centos mysql: SYSTEM_USER:'vagrant', MYSQL_USER:'root', CONNECTION_ID:223, DB_SERVER:'127.0.0.1', DB:'--', QUERY:'select now();'

当然任何用户都可以覆盖此选项,因此很容易覆盖一个人的轨道。换句话说,您不应该将此作为审计工具。