Как я могу изменить настройку «использование пароля» для logrotate на yes? - PullRequest
0 голосов
/ 16 января 2019

Я недавно настроил БД с помощью 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

/ корень / .my.cnf

[mysqladmin]
password = "password"
user = root

[mysql]
password = "password"
user = root

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

1 Ответ

0 голосов
/ 17 января 2019

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

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

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

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

...