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

Diesen Beitrag schrieb ich 16 Jahre und 8 Monate zuvor; die nachfolgenden Ausführungen müssen heute weder genau so nach wie vor funktionieren, noch meiner heutigen Meinung entsprechen. Behalte das beim Lesen (und vor allem: beim Nachmachen!) bitte stets im Hinterkopf.

Geschätzte Lesezeit: 1 Minute

Nach Aufsetzen eines mySQL-Servers unter Debian bekam ich einige Nächte in Folge diese Mail:

Subject: Cron  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
/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

Das Problem liegt darin begründet, dass es den benötigten User nicht gibt. Informationen zu diesem User sind in /etc/mysql/debian.cnf zu finden; bei mir sieht das etwa so aus:

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = <$PASSWORT>
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
user     = debian-sys-maint
password = <$PASSWORT>
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr

Den hier genannten User debian-sys-maint brauchen wir – innerhalb MySQL. Das geht aber ganz schnell und unkompliziert; <$PASSWORT> entspricht natürlich dem String, der an dieser Stelle bei euch steht:

$ mysql -u root -p
Enter password:

mysql> create user 'debian-sys-maint'@'localhost'
  -> identified by '<$PASSWORT>';

Aber der nun erstellte User braucht aber auch Rechte auf die Datenbanken; wer das fein aufteilen möchte, kann dies gerne tun ;) Ich habe folgendermaßen beholfen.

mysql> grant all privileges on \*.\*
  -> to 'debian-sys-maint'@'localhost'
  -> identified by '<$PASSWORT>';

Anschließend nicht vergessen:

mysql> flush privileges;
Alle Bilder dieser Seite: © Marianne Spiller – Alle Rechte vorbehalten
Hintergrundbild: Bild genauer anschauen – © Marianne Spiller – Alle Rechte vorbehalten

Eure Gedanken zu „error: error running shared postrotate script for /var/log/mysql.log“

Ich freue mich über jeden Kommentar, es sei denn, er ist blöd. Deshalb behalte ich mir auch vor, die richtig blöden kurzerhand wieder zu löschen. Die Kommentarfunktion ist über GitHub realisiert, weshalb ihr euch zunächst dort einloggen und „utterances“ bestätigen müsst. Die Kommentare selbst werden im Issue-Tracker und mit dem Label „✨💬✨ comment“ erfasst – jeder Blogartikel ist ein eigenes Issue. Über GitHub könnt ihr eure Kommentare somit jederzeit bearbeiten oder löschen.