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

Ошибки поворота журнала MariaDB

Каждую ночь я получаю электронное письмо с моего сервера со следующим:

/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.log /var/log/mysql/mysql.log /var/log/mysql/mariadb-slow.log '
run-parts: /etc/cron.daily/logrotate exited with return code 1

Я не знаю, почему это происходит, и не могу понять, как остановить ошибку.

Есть утилита linux logrotate, она пытается повернуть логи mariadb.

Вам следует заглянуть в файл:

/etc/logrotate.conf

Найдите раздел, в котором есть скрипты (который отправляет вам письма), Возглавляемый:

/var/log/mysql.log {
...
...
...
} 
/var/log/mysql/mysql.log {
...
...
...
}
/var/log/mysql/mariadb-slow.log {
...
...
...
}

Может, потому что учетные данные не вводятся. Либо удалите эти сценарии (хешируйте их), если они не нужны, либо предоставьте учетные данные для входа в MariaDB.

Надеюсь, поможет!

Кто-то недавно ставил пароль для root? Вашему ротации журнала, вероятно, понадобится /root/.my.cnf или /home/root/.my.cnf, в котором есть пароль, чтобы часть ротации журнала могла войти в mysql и очистить журналы.

У вас может быть единственный файл журнала mysql, который заполняется из-за неудачной ротации, возможно, даже удаленный файл, который остается открытым. Это будет исправлено при перезапуске или очистке связанных журналов. Если вам не хватает места на диске, но вы не можете найти для этого большой файл, это может быть легко причиной. Удаленный файл фактически не удаляется, пока не будет удалено все использование, включая MariaDB или MySQL, которые удерживают его открытым для записи.

Вероятно, вы установили / изменили свой пароль root.

Если вы используете Debian, вы можете обновить его в /etc/mysql/debian.cnf.