Назад | Перейти на главную страницу

MySQL cli не запоминает историю некоторых команд

Я использую ОС linux с базой данных mysql.

mysql CLI не регистрирует некоторые команды в ~/.mysql_history .
Например не могу войти create user.

Как заставить cli хранить все команды в mysql_history?
Как исправить эту проблему?

Такое поведение является преднамеренным, и, насколько я знаю, вы не можете изменить его.
По умолчанию регистрируются все интерактивные операторы, включая CREATE USER заявление, Кроме когда они содержат информацию о пароле.

Хотя вы можете добавить дополнительные условия, которые предотвратят регистрацию определенных дополнительных операторов (установите либо --histignore параметр или переменную среды MYSQL_HISTIGNORE) или полностью прекратить ведение журнала, например, --batch switch, логирование паролей, насколько я знаю, невозможно.

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

mysql игнорирует для целей регистрации операторы, соответствующие любому шаблону в списке «игнорировать». По умолчанию список шаблонов "*IDENTIFIED*:*PASSWORD*", чтобы игнорировать утверждения, относящиеся к паролям.

Пробовать:

  • явно установить переменную среды MYSQL_HISTFILE

  • коснитесь .mysql_history

  • chmod 600 .mysql_history

История записывается не сразу, а при выходе из клиента.