It was discovered today that ~ /. Mysql_history stores all commands executed after the user accesses mysql. Example: [xxx @ localhost ~] $ Cat ~ /. Mysql_historyuse mysqlselect * 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 mysqlGRANT all privileges on *. * TO 'root' @ '%' identified by 'xxx' with grant option; FLUSH PRIVILEGESshow tables; this file is so boring, if the database is accessed, the password and structure of the mysql database are completely leaked. Solution: delete the file. When logging on to the database or backing up the database and other password-related operations, you should use the-p parameter to add the prompt to enter the password, and then enter the password implicitly. # Rm. bash_history. mysql_history // Delete the history # ln-s/dev/null. bash_history // leave the shell record file blank # ln-s/dev/null. mysql_history // leave the mysql record file empty