Fix für logrotate errors für mySQL in Ubuntu

In seinem Blog beschreibt Shahar Evron eine Methode, mit einem Einzeiler den Fehler zu beseitigen, der bisher bei mir täglich in den Mails an root gemeldet wurde:

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

Hier ist der Einzeiler:

echo "SET PASSWORD FOR 'debian-sys-maint'@'localhost' = PASSWORD('`sudo cat /etc/mysql/debian.cnf | grep password | head -n 1 |
awk -F= '{ gsub(/[ \t]+/, "", $2); print $2 }'`');" | mysql -u root -p

Verwirrend? Verstehen muss ich das ja nicht…

Quelle: arr.gr/blog/2014/06/fixing-logrotate-errors-and-other-mysql-issues…

Ich habe es ausprobiert und es funktioniert. Der Fehler war unbewusst entstanden – wie im Blog beschrieben -, weil ich das Betriebssystem neu aufgespielt und dann die alte DB-Sicherung zurückgeholt habe. Dabei bekommt der Systemuser „debian-sys-maint“ von mySQL das falsche (zufällig generierte) Passwort. Das wird mit dem obigen Einzeiler korriegiert.

Danke, Shahar Evron!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.