systemctl: logrotate Failed

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
struppi
Beiträge: 300
Registriert: 02.12.2011 14:12:09

systemctl: logrotate Failed

Beitrag von struppi » 10.12.2020 09:07:05

Ich habe jeden Tag diese Meldungen in den Logs (systemctl)

Code: Alles auswählen

Nov 23 09:14:38 xxx logrotate[24379]: error: 'Access denied for user 'root'@'localhost' (using password: NO)'
Nov 23 09:14:38 xxx logrotate[24379]: error: error running shared postrotate script for '/var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log /var/log/mysql/mariadb-slow.log /var/log/mysql/error.lo
Nov 23 09:14:39 xxx systemd[1]: logrotate.service: Main process exited, code=exited, status=1/FAILURE
Nov 23 09:14:39 xxx systemd[1]: logrotate.service: Failed with result 'exit-code'.
Nov 23 09:14:39 xxx systemd[1]: Failed to start Rotate log files.
Was ich verstehe, dass es wohl etwas mit mySql (MariaDB) zu tun hat, aber ich komme bei der Suche nicht weiter. die Meldung mit dem "Access denied" sieht so aus, wie der erfolglose login in die MySQL Konsole. Also hat wohl der Service logrotate nicht die notwendigen Rechte, aber wie bekommt er diese?

(Mein System: Debian Buster)

Benutzeravatar
lucretia
Beiträge: 6
Registriert: 10.12.2020 14:43:48

Re: systemctl: logrotate Failed

Beitrag von lucretia » 11.12.2020 20:51:53

MariaDB muss einige Prozesse neu starten, um alte Dateideskriptoren zu schließen und neue zu öffnen.
Aus diesem Grund gibt es ein eigenes Postrotate-Skript, das man normalerweise in "/etc/logrotate.d/mariadb" findet.
Der Root-Benutzer braucht Rechte, um sich am mariaDB-Server anzumelden, aber es muss nicht unbedingt "Benutzername@Passwort" sein, man kann auch einen Unix-Socket verwenden. Im Allgemeinen hängt es von Ihrer aktuellen Konfiguration ab. Hier ist ein Link zur Dokumentation (in Englisch), in der der Prozess detailliert beschrieben ist.
https://mariadb.com/kb/en/rotating-logs ... -logrotate
Der Anfang des Heils ist die Kenntnis des Fehlers.

struppi
Beiträge: 300
Registriert: 02.12.2011 14:12:09

Re: systemctl: logrotate Failed

Beitrag von struppi » 16.12.2020 10:27:54

Danke, das ist schon mal ein Hinweis.

im logrotate verzeichnis gibt es mariadb aber bei mir nicht.

Code: Alles auswählen

xxx:~$ ls  -l  /etc/logrotate.d/
insgesamt 64
-rw-r--r-- 1 root root 120 Apr 19  2019 alternatives
-rw-r--r-- 1 root root 442 Aug  8 09:47 apache2
-rw-r--r-- 1 root root 173 Jul 13  2017 apt
-rw-r--r-- 1 root root 130 Aug 29  2018 btmp
-rw-r--r-- 1 root root 181 Jan 18  2017 cups-daemon
-rw-r--r-- 1 root root 112 Apr 19  2019 dpkg
-rw-r--r-- 1 root root 146 Mär  2  2016 exim4-base
-rw-r--r-- 1 root root 126 Mär  2  2016 exim4-paniclog
-rw-r--r-- 1 root root 313 Apr 17  2017 fail2ban
-rw-r--r-- 1 root root 802 Aug 10  2017 mysql-server
-rw-r--r-- 1 root root 173 Nov 12  2019 postgresql-common
-rw-r--r-- 1 root root  94 Dez  4  2015 ppp
-rw-r--r-- 1 root root 501 Feb 26  2019 rsyslog
-rw-r--r-- 1 root root 677 Nov 29  2019 speech-dispatcher
-rw-r--r-- 1 root root 235 Dez 11  2016 unattended-upgrades
-rw-r--r-- 1 root root 145 Feb 19  2018 wtmp

Doch 'mysql-server' sieht aber ähnlich aus wie auf der Dokuseite beschrieben. Die habe ich mir durchgelesen und bin etwas schlauer, aber ohne wirklich zu Wissen, warum ich mich nun plötzlich mit solchen Dingen beschäftigen muss.

Und es verwirren mich auch ein paar Sachen:

Code: Alles auswählen

xxx:~$ mariadb --version
mariadb  Ver 15.1 Distrib 10.3.27-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
 
Auf den verlinkten Seiten ist immer von MariaDB ab version 10.4. die Rede, aber auch von Debian 9 - warum ist dann bei mir auf einem Debian 10 System die Version 10.3 installiert?

Trotzdem habe ich mal den einfachen Weg probiert und deaktiviere unix_socket so wie auf der Seite beschrieben

Code: Alles auswählen

nano /etc/mysql/mariadb.conf.d/50-server.cnf 

Code: Alles auswählen

[mariadb]
unix_socket=OFF
und dann ein restart

Code: Alles auswählen

sudo  service mysql restart
Mal sehen was passiert. Die ersten Meldungen sind nicht viel versprechend:

Code: Alles auswählen

Dez 16 10:17:44 xxx systemd[1]: Starting MariaDB 10.3.27 database server...
Dez 16 10:17:45 xxx mysqld[13025]: 2020-12-16 10:17:45 0 [Note] /usr/sbin/mysqld (mysqld 10.3.27-MariaDB-0+deb10u1) starting as process 13025 ...
Dez 16 10:17:45 xxx mysqld[13025]: 2020-12-16 10:17:45 0 [Warning] Could not increase number of max_open_files to more than 16384 (request: 32184)
Dez 16 10:17:45 xxx systemd[1]: Started MariaDB 10.3.27 database server.
Dez 16 10:17:45 xxx sudo[12964]: pam_unix(sudo:session): session closed for user root
Dez 16 10:17:45 xxx /etc/mysql/debian-start[13060]: Upgrading MySQL tables if necessary.
Dez 16 10:17:45 xxx /etc/mysql/debian-start[13063]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored
Dez 16 10:17:45 xxx /etc/mysql/debian-start[13063]: Looking for 'mysql' as: /usr/bin/mysql
Dez 16 10:17:45 xxx /etc/mysql/debian-start[13063]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Dez 16 10:17:45 xxx /etc/mysql/debian-start[13063]: Version check failed. Got the following error when calling the 'mysql' command line client
Dez 16 10:17:45 xxx /etc/mysql/debian-start[13063]: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Dez 16 10:17:45 xxx /etc/mysql/debian-start[13063]: FATAL ERROR: Upgrade failed
Dez 16 10:17:45 xxx /etc/mysql/debian-start[13073]: Checking for insecure root accounts.
Dez 16 10:17:45 xxx debian-start[13058]: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Das hängt vermutlich mit meinem upgrade von 9 auf 10 zusammen und mein Gefühl sagt, ich solte früher oder später einfach das system mal neu aufsetzen. Wobei ich aber nicht den Eindruck habe das diese Fehlermeldung wirklich ein Problem ist. Ich nutze mysql nur für kleinere Tests und nicht wirklich produktiv. Daher sind die logs für mich unrelevant und so wie es aussieht läuft da aktuell auch nichts voll.

Antworten