Tag Archives: mySQL

Logrotate Error in Ubuntu

In den letzten Wochen habe ich immer und immer wieder folgende Mail von meinem Server bekommen:

/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

Wie sich nun nach kurzer Recherche im Internet raus stellte, nutzt Ubuntu für seine allnächtlichen Logrotate’s auch einen mySQL User, um in einer Systemdatenbank aufzuräumen.
Da Ubuntu hierfür natürlich nicht direkt den Root User nimmt, gibt es einen „unterprivilegierten“ User namens „debian-sys-maint“.
Wenn dieser nun, aus welchem Grund auch immer, nicht mehr existiert oder keine Rechte mehr hat, kommt es zu der oben beschriebenen Fehlermeldung.
Dieses Problem lässt sich aber sehr einfach beheben und zwar gehen wir wie folgt vor:

cat /etc/mysql/debian.cnf
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = ***************
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = ***************
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr

Nun kopieren wir uns das Passwort, loggen uns in den mySQL ein und erstellen den User neu:

mysql -uroot -p
--> Passwort für mySQL Root User

Create user 'debian-sys-maint'@'localhost' identified by '***************';

Nun geben wir dem User noch Rechte auf die Datenbank und schon hat sich das Problem erledigt:

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

Und das wars auch schon, ich hoffe ich konnte damit dem ein oder anderen helfen 🙂

2 Comments

Filed under Linux