在linux下,mysql的每一步操作是会默认被记录到当前操作系统用户下的.mysql_history文件中去的。这个文件不会记录操作的时间,只记录操作命令,包括用户创建,授权,密码更改等,均是明文记录。一般情况下,出于安全考虑,会将这个文件清空,避免信息泄露。
实验步骤:
1、 进入mysql服务,随便输入几行命令:
因为我是在root用户下命令行登录mysql的,所以去root的用户目录下查看历史操作记录的文件.mysql_history。这个.mysql_history是一个隐藏文件。
可以看到所有的操作命令被明文记录。另外,.mysql_history文件是不会记录还没有断开连接的mysql命令行界面用户的操作。只有你敲下exit后,.mysql_history文件才会记录下你之前执行的所有命令。
2、 客户端连接到mysql服务,同样,随便敲几行命令:
在lxmtestmongdb这台机器上是没有mysql服务的,但是刚才所有的操作已经被记录到本机的/root/.mysql_history下了:
3、 在linux用户的家目录下修改MYSQL_HISTFILE这个linux环境变量:
[root@CentOStest1 ~]# export MYSQL_HISTFILE=/home/mysql/.mydb_history
然后重复1中的操作,可以观察到所有的操作历史记录被记录到了新的文件/home/mysql/.mydb_history下:
结合上面的实验内容,就可以清楚这个历史操作记录文件的记录方式。一般情况下,会将该文件做一个软链接链接到 /dev/null 去,直接把内容清空。注意直接删除这个文件是没有什么用的,因为下次如果有新的 mysql 连接进来,该文件会自动再次生成的。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28497416/viewspace-2132405/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28497416/viewspace-2132405/