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

Проблемы с logrotate после сброса пароля root mysql

Некоторое время назад мне пришлось сбросить забытый пароль root для mysql (строго говоря, mariadb) с помощью подходящего руководства (возможно, это https://devanswers.co/how-to-reset-mysql-root-password-ubuntu/ ) и использовал надежный пароль. Хотя после этого все, казалось, работало нормально, одна проблема продолжает появляться: ежедневное задание cron для 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

Поскольку конфигурация logrotate содержит полезную строку

# If this fails, check debian.conf!

[sic], я взглянул на /etc/mysql/debian.cnf:

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = root
password =
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = root
password = 
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr

Ясно, что вновь созданный пароль должен был быть добавлен в этот файл (дважды, или у меня возникнут проблемы при следующем обновлении программного обеспечения), но этого не произошло. Хотя я могу сделать это сейчас, это будет противоречить первой строке DO NOT TOUCH! Я полагаю, что в какой-то момент этот файл будет перезаписан системой? Если да, то в каком другом месте можно сохранить новый пароль, который я создал «вручную»?