Strona główna Błąd Logrotate w MySQL na Ubuntu
Wpis
Anuluj

Błąd Logrotate w MySQL na Ubuntu

Błąd Logrotate w MySQL na Ubuntu

Od pewnego czasu dostaję codziennie w logach następujący błąd:

1
2
3
4
5
/etc/cron.daily/logrotate:

error: error running shared postrotate script for '/var/log/mysql.log /var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log '

run-parts: /etc/cron.daily/logrotate exited with return code 1

Dzieje się tak dlatego, że po wszystkich procesach archiwizacji, jak wszystko zostanie już zrobione, Ubuntu próbuje użyć użytkownika debian-sys-maint do wyczyszczenia logów, a wywoływane jest to w /etc/logrotate.d/mysql-server. I tu jest pies pogrzebany - ten użytkownik nie jest używany w Ubuntu. Rozwiązaniem jest wygrzebanie z pliku /etc/mysql/debian.cnf hasła wyżej wspomnianego użytkownika, i dodanie mu odpowiednich uprawnień w bazie. Plik /etc/mysql/debian.cnf powinien mieć mniej więcej taką strukturę:

1
2
3
4
5
6
7
8
9
10
11
12
# Automatically generated for Debian scripts. DO NOT TOUCH!

[client]
host     = localhost
user     = debian-sys-maint
password = xxxxxxxxxxxxxxxx
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
user     = debian-sys-maint
password = xxxxxxxxxxxxxxxx
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr

Zapytanie dodające uprawnienia wygląda następująco:

1
GRANT RELOAD, SHUTDOWN, PROCESS, SHOW DATABASES, SUPER, LOCK TABLES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY PASSWORD 'xxxxxxxxxxxxxxxx'

gdzie xxxxxxxxxxxxxxxx to hasło z pliku /etc/mysql/debian.cnf. Po dodaniu uprawnień w logach zniknął wspomniany błąd.

Ten post jest udostępniony na licencji CC BY 4.0 przez autora.

Własna strona błędu 404 dla wszystkich VirtualHostów w Apache

Zmiana dystrybucji - Kubuntu