MYSQL安全之删除历史操作文件
今天碉堡了,才发现~/.mysql_history下保存了所有通过该用户访问mysql后执行的命令。例如:
[xxx@localhost ~]$ cat ~/.mysql_history
use mysql
select * from user;
update user set host = '%' where user = 'root';
update user set `Host` = '%' where `user` = 'root';
update user set `Host` = '%' where `user` = 'root' and `password` = 'xxx';
select * from user;
use mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxx' WITH GRANT OPTION;
FLUSH PRIVILEGES
show tables;
这个文件真是太坑爹了,如果被访问到会导致mysql数据库密码和结构全部泄漏。
解决办法:
删除文件,同时在进行登陆或备份数据库等与密码相关操作时,应该使用-p参数加入提示输入密码后,隐式输入密码。
# rm .bash_history .mysql_history //删除历史记录
# ln -s /dev/null .bash_history //将shell记录文件置空
# ln -s /dev/null .mysql_history //将mysql记录文件置空