Как я могу изменить настройку "использование пароля" для logrotate на yes?

Я недавно настроил БД с помощью MariaDB и теперь ежедневно получаю сообщения об ошибках от logrotate (см. Ниже). Я использую пароль для пользователя root DB. Согласно тому, что я нашел в Интернете, я установил файл my.cnf, но он ничего не изменил. Сообщение об ошибке гласит (используя пароль: НЕТ). Некоторые из постов, которые я видел в Интернете, вместо этого говорят "да". Однако я не могу найти какую-либо документацию в Интернете или в файлах настроек MariaDB, где я могу указать logrotate, что он должен использовать пароль.

Сообщение об ошибке:

/etc/cron.daily/logrotate: mysqladmin: connect to server at 'localhost'
failed error: 'Access denied for user 'root'@'localhost' (using password: NO)' 
error: error running shared postrotate script for '/var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log /var/log/mysql/mariadb-slow.log /var/log/mysql/error.log ' 
run-parts: /etc/cron.daily/logrotate exited with return code 1

/root/.my.cnf

[mysqladmin]
password = "password"
user = root

[mysql]
password = "password"
user = root

Я использую MariaDB 10.1.37 на Debian Stretch

1 ответ

Я предлагаю вам предоставить отдельного пользователя для mysqladmin и дать ему минимальные привилегии. Это может сократить уязвимость для хакеров.

mysqladmin как mysqlон использует аргументы, чтобы решить, какой пользователь, какой хост и нужно ли запрашивать пароль:

  • -p - динамически запрашивать пароль (сложно использовать в пакетном скрипте)
  • -pMyPwd - предоставить пароль (не очень безопасный)
  • (ни один из вышеперечисленных) - без пароля или...

Ты можешь использовать mysql_config_editor установить пароль особым образом, так что вам не нужно включать -p,

Другие вопросы по тегам