我正在尝试识别执行的mysql命令的时间戳。 在/root/.mysql_history文件中只有命令,没有找到时间。
可以使用任何配置将时间戳存储在Linux中的mysql历史文件/root/.mysql_history中吗?
答案 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();'
当然任何用户都可以覆盖此选项,因此很容易覆盖一个人的轨道。换句话说,您不应该将此作为审计工具。