mysql的历史命令记录,~/.mysql_history

~/.mysql_history文件中记录每一个用户使用数据库的操做命令mysql


root用户的mysql操做,~/.mysql_historysql


​transfor用户的mysql操做,/home/transfor/.mysql_historyshell


[root@cp-mysql01-new ~]# tail -20 /root/.mysql_history 数据库

show variables like '%resolve%';vim

show variables like '%connection%';bash

 show global status like ‘Max_used_connections;spa

 show global status like ‘Max_used_connections';io

show global status like 'max_user_connections';编译

show global status like 'max_used_connections';table

show global variables like 'max_user_connections';

show global status like '%open%table%';

show variables like 'table%cache%';

show global status like 'thread%';

show variables like 'thread_cache_size';

show global status like 'qcache%';

show variables like 'query_cache%';

select count(id) from mop_bet_order_history;

use lottery;

select count(id) from mop_bet_order_history;


不过这个文件会把全部操做记录下来,包括建立用户和修改用户的明文密码。万一被人攻击,获取该文件内容,很是危险。


这个文件是mysql编译安装时默认配置好的,不容易修改。可是最好不要保存,仅仅删除是不行的,要直接将其软链接到垃圾箱:


rm ~/.mysql_history


ln -s /dev/null ~/.mysql_history


若是确实想将一些操做记录下来,能够在/etc/my.cnf配置文件的[client]组临时添加

[client]

tee=/tmp/mysql.history


tee命令添加完成后,无需重启mysql服务,因此仅对当前打开的客户端记录mysql操做命令


等操做使用完成后,注释



~/.mysql_history文件产生原理


由于mysql自己就是一个shell,每次mysql链接退出后,都会把这次操做信息记录到~/.mysql_history文件中


若是该文件不存在,会先建立再记录(像rm,或者刚安装的mysql)


此文件的名字和路径,是根据MYSQL_HISTFILE这个环境变量来设置的,默认是~/.mysql_history,修改文件名和路径:

vim ~/.bash_profile

export MYSQL_HISTFILE=/home/jason/.my_history


./etc/profile从新初始化后,生效