MySQL cli 不记得某些命令的历史记录

mah*_*454 3 mysql mariadb

我将 linux 操作系统与 mysql 数据库一起使用。

mysql CLI 不会在~/.mysql_history.
比如不能登录create user

如何强制 cli 将所有命令存储在 mysql_history 中?
如何解决这个问题?

HBr*_*ijn 15

该行为是设计使然,据我所知您无法覆盖。
默认情况下会记录所有交互式语句,包括CREATE USER语句,除非它们包含密码信息。

尽管您可以添加额外的条件来阻止记录某些附加语句(设置--histignore选项或 MYSQL_HISTIGNORE 环境变量)或完全停止记录,例如使用--batchswitch,但据我所知,记录密码是不可能的。

https://dev.mysql.com/doc/refman/5.7/en/mysql-logging.html

出于日志目的,mysql忽略与“忽略”列表中的任何模式匹配的语句。默认情况下,模式列表是"*IDENTIFIED*:*PASSWORD*", 以忽略引用密码的语句。

  • 不管可能与否,这肯定是**不可取的**。 (2认同)