logrotate Problem MySQL nach Update auf 3.0.4.5

shen

Member
Hallo zusammen,

nachdem wir ein Update auf Version 3.0.4.5 gemacht haben, gibt es folgendes Problem, welches wir nicht gelöst bekommen:

Cron <root@XXXXXX> test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) (failed)

/etc/cron.daily/logrotate:
/usr/bin/mysqladmin: refresh failed; error: 'Access denied; you need the RELOAD privilege for this operation'
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
Hat da jemand eine Idee zu?

Danke + Gruß
Stefan
 

Till

Administrator
Mit dem ISPConfig Update kann das nichts zu tun haben, da ispconfig weder logrotate noch die mysql root bzw. system meintenance Logins konfugriert.

Da muss enteweder jemand das Passwort oder die privilegien des system meintenamnce mysql Users geändert haben. Weche linux Distribution verwendest Du denn?
 

Till

Administrator
Dann ist vermutlich das debian sys-maint Passwort falsch. Schau mal in die Datei /etc/mysql/debian.cnf, dort steht das passwort für den debian-sys-maint User im Klartext drin, versuch Dich mal mit:

mysql -h localhost -u debian-sys-maint -p

und dem Passwort aus der datei in mysql einzuloggen. Wenn das nicht geht, dann setze das passwort für den user in mysql neu oder passe s alternativ in der .cnf Datei an.
 

shen

Member
Ich kann mich mit dem Passwort aus der /etc/mysql/debian.cnf anmelden. Die Datei wurde auch lange nicht geändert.

In der Tabelle "user" der DB "mysql" ist der Hash-Wert für das Passwort korrekt, den habe ich gerade nochmal mit SELECT PASSWORD(); verifiziert, siehe Anhänge. Auch in einem älteren Backup der DB ist der Hashwert identisch.

Gruß
Stefan
 

Anhänge

  • Screenshot_01.jpg
    Screenshot_01.jpg
    4,5 KB · Aufrufe: 247
  • Screenshot_02.jpg
    Screenshot_02.jpg
    20,8 KB · Aufrufe: 266

Till

Administrator
Dann schau mal in /etc/cron.daily/logrotate rein was er da genau macht und sieh auch in mysql nach ober der User den logrotate verwendet auch ein refresh durchführen darf.
 

shen

Member
/etc/cron.daily/logrotate:

#!/bin/sh

test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf
/etc/logrotate.conf:

# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

# packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp, or btmp -- we'll rotate them here
/var/log/wtmp {
missingok
monthly
create 0664 root utmp
rotate 1
}

/var/log/btmp {
missingok
monthly
create 0660 root utmp
rotate 1
}

# system-specific logs may be configured here
/etc/logrotate.d/mysql-server:
# - I put everything in one block and added sharedscripts, so that mysql gets
# flush-logs'd only once.
# Else the binary logs would automatically increase by n times every day.
# - The error log is obsolete, messages go to syslog now.
/var/log/mysql.log /var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log {
daily
rotate 7
missingok
create 640 mysql adm
compress
sharedscripts
postrotate
test -x /usr/bin/mysqladmin || exit 0

# If this fails, check debian.conf!
MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"
if [ -z "`$MYADMIN ping 2>/dev/null`" ]; then
# Really no mysqld or rather a missing debian-sys-maint user?
# If this occurs and is not a error please report a bug.
if ps cax | grep -q mysqld; then
exit 1
fi
else
$MYADMIN flush-logs
fi
endscript
}
In der /etc/mysql/debian.cnf steht das korrekte Passwort, hier ausgeXt:

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = XXXXXXXXX
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
user = debian-sys-maint
password = XXXXXXXXX
socket = /var/run/mysqld/mysqld.sock
basedir = /usr
Und im Anhang noch die Rechte des users debian-sys-maint, ich nehme an, das ist, was Du meinst ... es sind hier nur "select, insert, update und delete" aktiviert.
 

Anhänge

  • Screenshot_04.jpg
    Screenshot_04.jpg
    17,8 KB · Aufrufe: 264

Till

Administrator
Das Problem sind die Rechte des debian-sys-maint Users in mysql, es müssen dort alle Rechte aktiviert sein.
 

shen

Member
Hm, seltsam, wie kann er die Rechte verloren haben?

Nun hat er jedenfalls wieder ALL PRIVILEGES - dann sollte beim nächsten Lauf ja alles ok sein.

Vielen Dank für die Hilfe!

Gruß
Stefan
 

Werbung

Top