ubuntuusers.de

[ERROR] mysqld: File '/var/log/mysql/mariadb-bin.index' not found (Errcode: 13 "Permission denied")

Status: Gelöst | Ubuntu-Version: Server 16.04 (Xenial Xerus)
Antworten |

herrmeier

Anmeldungsdatum:
5. Oktober 2006

Beiträge: 297

MariaDB startet nicht und ich finde den Fehler mit den mir geläufigen Suchbegriffen leider nicht.
Habe Ihr eine Idee? Bis zum update lief es...
Ich erinnere mich dunkel, dass ich bzgl. socket und tcp damals etwas geändert habe und dass ich um mit phpmyadmin auch von einem anderen PC aus zu arbeiten einen weiteren "root"-User angelegt habe. Ein Backup von letzter Nacht dürfte vorliegen (automysqlbackup) Besten Dank fürs Lesen!!

MariaDB-Version

1
2
sudo apt-cache show mariadb-server|grep Version
Version: 10.0.29-0ubuntu0.16.04.1

Start von mariadb (mysql-Komplettersatz)

1
2
Starting mysql (via systemctl): mysql.serviceJob for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
 failed!

systemctl status mysql.service

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
user1@hostname:~$ sudo systemctl status mysql.service
● mysql.service - LSB: Start and stop the mysql database server daemon
   Loaded: loaded (/etc/init.d/mysql; bad; vendor preset: enabled)
   Active: failed (Result: exit-code) since So 2017-05-14 19:32:39 UTC; 23s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 8863 ExecStart=/etc/init.d/mysql start (code=exited, status=1/FAILURE)

Mai 14 19:32:06 hostname mysql[8863]:  * Starting MariaDB database server mysqld
Mai 14 19:32:07 hostname mysqld[9052]: 170514 19:32:07 [Note] /usr/sbin/mysqld (mysqld 10.0.29-MariaDB-0ubuntu0.16.04.1) starting as process 9051 ...
Mai 14 19:32:07 hostname mysqld[9052]: 170514 19:32:07 [ERROR] mysqld: File '/var/log/mysql/mariadb-bin.index' not found (Errcode: 13 "Permission denied")
Mai 14 19:32:07 hostname mysqld[9052]: 170514 19:32:07 [ERROR] Aborting
Mai 14 19:32:07 hostname mysqld_safe[9055]: mysqld from pid file /var/run/mysqld/mysqld.pid ended
Mai 14 19:32:39 hostname mysql[8863]:    ...fail!
Mai 14 19:32:39 hostname systemd[1]: mysql.service: Control process exited, code=exited status=1
Mai 14 19:32:39 hostname systemd[1]: Failed to start LSB: Start and stop the mysql database server daemon.
Mai 14 19:32:39 hostname systemd[1]: mysql.service: Unit entered failed state.
Mai 14 19:32:39 hostname systemd[1]: mysql.service: Failed with result 'exit-code'.Starting mysql (via systemctl): mysql.serviceJob for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
 failed!
user1@hostname:~$ sudo systemctl status mysql.service
● mysql.service - LSB: Start and stop the mysql database server daemon
   Loaded: loaded (/etc/init.d/mysql; bad; vendor preset: enabled)
   Active: failed (Result: exit-code) since So 2017-05-14 19:32:39 UTC; 23s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 8863 ExecStart=/etc/init.d/mysql start (code=exited, status=1/FAILURE)

Mai 14 19:32:06 hostname mysql[8863]:  * Starting MariaDB database server mysqld
Mai 14 19:32:07 hostname mysqld[9052]: 170514 19:32:07 [Note] /usr/sbin/mysqld (mysqld 10.0.29-MariaDB-0ubuntu0.16.04.1) starting as process 9051 ...
Mai 14 19:32:07 hostname mysqld[9052]: 170514 19:32:07 [ERROR] mysqld: File '/var/log/mysql/mariadb-bin.index' not found (Errcode: 13 "Permission denied")
Mai 14 19:32:07 hostname mysqld[9052]: 170514 19:32:07 [ERROR] Aborting
Mai 14 19:32:07 hostname mysqld_safe[9055]: mysqld from pid file /var/run/mysqld/mysqld.pid ended
Mai 14 19:32:39 hostname mysql[8863]:    ...fail!
Mai 14 19:32:39 hostname systemd[1]: mysql.service: Control process exited, code=exited status=1
Mai 14 19:32:39 hostname systemd[1]: Failed to start LSB: Start and stop the mysql database server daemon.
Mai 14 19:32:39 hostname systemd[1]: mysql.service: Unit entered failed state.
Mai 14 19:32:39 hostname systemd[1]: mysql.service: Failed with result 'exit-code'.

journalctl -xe

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Mai 14 19:32:05 hostname sudo[8848]: pam_unix(sudo:session): session opened for user root by user1(uid=0)
Mai 14 19:32:05 hostname systemd[1]: Starting LSB: Start and stop the mysql database server daemon...
-- Subject: Unit mysql.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit mysql.service has begun starting up.
Mai 14 19:32:06 hostname mysql[8863]:  * Starting MariaDB database server mysqld
Mai 14 19:32:07 hostname mysqld_safe[9047]: Starting mysqld daemon with databases from /var/lib/mysql
Mai 14 19:32:07 hostname mysqld[9052]: 170514 19:32:07 [Note] /usr/sbin/mysqld (mysqld 10.0.29-MariaDB-0ubuntu0.16.04.1) starting as process 9051 ...
Mai 14 19:32:07 hostname mysqld[9052]: 170514 19:32:07 [ERROR] mysqld: File '/var/log/mysql/mariadb-bin.index' not found (Errcode: 13 "Permission denied")
Mai 14 19:32:07 hostname mysqld[9052]: 170514 19:32:07 [ERROR] Aborting
Mai 14 19:32:07 hostname mysqld[9052]: 
Mai 14 19:32:07 hostname mysqld[9052]: 170514 19:32:07 [Note] /usr/sbin/mysqld: Shutdown complete
Mai 14 19:32:07 hostname mysqld[9052]: 
Mai 14 19:32:07 hostname mysqld_safe[9055]: mysqld from pid file /var/run/mysqld/mysqld.pid ended
Mai 14 19:32:29 hostname sudo[9284]:       user1 : TTY=pts/7 ; PWD=/home/user1 ; USER=root ; COMMAND=/usr/bin/tail -f /var/log/syslog
Mai 14 19:32:29 hostname sudo[9284]: pam_unix(sudo:session): session opened for user root by user1(uid=0)
Mai 14 19:32:39 hostname /etc/init.d/mysql[9404]: 0 processes alive and '/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in
Mai 14 19:32:39 hostname /etc/init.d/mysql[9404]: [61B blob data]
Mai 14 19:32:39 hostname /etc/init.d/mysql[9404]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")'
Mai 14 19:32:39 hostname /etc/init.d/mysql[9404]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
Mai 14 19:32:39 hostname /etc/init.d/mysql[9404]: 
Mai 14 19:32:39 hostname mysql[8863]:    ...fail!
Mai 14 19:32:39 hostname systemd[1]: mysql.service: Control process exited, code=exited status=1
Mai 14 19:32:39 hostname systemd[1]: Failed to start LSB: Start and stop the mysql database server daemon.
-- Subject: Unit mysql.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit mysql.service has failed.
-- 
-- The result is failed.
Mai 14 19:32:39 hostname systemd[1]: mysql.service: Unit entered failed state.
Mai 14 19:32:39 hostname systemd[1]: mysql.service: Failed with result 'exit-code'.
Mai 14 19:32:39 hostname sudo[8848]: pam_unix(sudo:session): session closed for user root
Mai 14 19:33:01 hostname CRON[9410]: pam_unix(cron:session): session opened for user root by (uid=0)
Mai 14 19:33:03 hostname sudo[9422]:       user1 : TTY=pts/6 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/systemctl status mysql.service
Mai 14 19:33:03 hostname sudo[9422]: pam_unix(sudo:session): session opened for user root by user1(uid=0)
Mai 14 19:33:03 hostname sudo[9422]: pam_unix(sudo:session): session closed for user root
Mai 14 19:35:01 hostname CRON[9515]: pam_unix(cron:session): session opened for user root by (uid=0)
Mai 14 19:35:01 hostname CRON[9516]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Mai 14 19:35:01 hostname CRON[9515]: pam_unix(cron:session): session closed for user root
Mai 14 19:36:01 hostname CRON[9569]: pam_unix(cron:session): session opened for user root by (uid=0)
Mai 14 19:36:07 hostname CRON[9410]: pam_unix(cron:session): session closed for user root
Mai 14 19:39:01 hostname CRON[9658]: pam_unix(cron:session): session opened for user root by (uid=0)
Mai 14 19:39:01 hostname CRON[9659]: pam_unix(cron:session): session opened for user root by (uid=0)
Mai 14 19:39:01 hostname CRON[9661]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && /usr/lib/php/sessionclean)
Mai 14 19:39:02 hostname CRON[9658]: pam_unix(cron:session): session closed for user root
Mai 14 19:39:17 hostname CRON[9569]: pam_unix(cron:session): session closed for user root
Mai 14 19:40:00 hostname CRON[9659]: pam_unix(cron:session): session closed for user root
Mai 14 19:41:41 hostname sudo[9776]:       user1 : TTY=pts/6 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/journalctl -xe
Mai 14 19:41:41 hostname sudo[9776]: pam_unix(sudo:session): session opened for user root by user1(uid=0)
1
2
$ cat /etc/lsb-release |grep DESC
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"
1
2
uname -a
Linux hostname 4.10.12-sunxi #7 SMP Wed Apr 26 02:44:12 CEST 2017 armv7l armv7l armv7l GNU/Linux

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

Offenbar kann er das Binlog nicht öffnen, wegen unzureichender Rechte. Was sagt denn:

namei -l /var/log/mysql/mariadb-bin.index

herrmeier

(Themenstarter)

Anmeldungsdatum:
5. Oktober 2006

Beiträge: 297

Danke für die Rückfrage!

1
2
3
4
5
6
7
$ namei -l /var/log/mysql/mariadb-bin.index
f: /var/log/mysql/mariadb-bin.index
drwxr-xr-x root  root   /
drwxr-xr-x root  root   var
drwxrwxr-x root  syslog log
drwxr-s--- mysql adm    mysql
                        mariadb-bin.index - No such file or directory

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

Komisch, das sieht für mich erstmal ok aus. Lege das File mal an und gucke obs dann geht:

touch /var/log/mysql/mariadb-bin.index
chown mysql:mysql /var/log/mysql/mariadb-bin.index

Was sagt außerdem:

grep -ri "log" /etc/mysql*

Da ich hier grade nicht nachgucken kann: MariaDB läuft aber schon noch als User "mysql"?

herrmeier

(Themenstarter)

Anmeldungsdatum:
5. Oktober 2006

Beiträge: 297

Ich habe etwas gefunden...Das könnte es sein:

1
2
3
df -h
Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
log2ram         150M    150M     0  100% /var/log

Das kann nicht gut sein

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

herrmeier schrieb:

1
2
3
df -h
Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
log2ram         150M    150M     0  100% /var/log

Das kann nicht gut sein

Da hast du völlig recht^^ Ohne log2ram zu kennen, würde ich vermuten, dass das eine Art tmpfs im RAM ist. Zu allem Überfluss ist dieses Filesystem auch nur 150M groß, und zudem zu 100% voll. Das heißt nicht nur, dass die Logs weg sind, wenn der Server abkackt, sondern auch, dass du keine Logs hast, wenn es voll ist. Außerdem würde ich dir empfehlen ein vernünftiges Monitoring für deine Dateisysteme einzurichten, damit du sowas mitkriegst!

herrmeier

(Themenstarter)

Anmeldungsdatum:
5. Oktober 2006

Beiträge: 297

Mit dem Monitoring hast Du vollkommen recht...Bei den anderen Servern habe ich es ja auch...check_mk, sensu, icinga2 oder auch selbst geschriebene bash-scripts...Wie mir das nur durchgegangen ist. Aber wenn wir gerade schon dabei sind und ich nicht auf meine selbst geschriebenen bash-scripts setzen sollte... Welches schlägst Du für einen cubietruck vor? Viel wichtiger ist auch wie kommt es, dass log2ram nicht in meiner Dokumentation steht;-)

1
2
3
4
5
6
7
8
locate log2ram|grep -v media
/etc/cron.hourly/log2ram
/etc/default/log2ram
/etc/systemd/system/log2ram.service
/etc/systemd/system/sysinit.target.wants/log2ram.service
/usr/local/sbin/log2ram
/usr/local/share/log2ram
/usr/local/share/log2ram/LICENSE

https://github.com/azlux/log2ram

Eine zwischenzeitliche Vergrößerung des log2rams nur so als Test führte aber leider nicht zu einer Lösung. Es bleibt bei dem Problem:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18

sudo service mysql status
● mysql.service - LSB: Start and stop the mysql database server daemon
   Loaded: loaded (/etc/init.d/mysql; bad; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mo 2017-05-15 16:18:46 UTC; 9min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2542 ExecStart=/etc/init.d/mysql start (code=exited, status=1/FAILURE)

Mai 15 16:18:13 hostname mysql[2542]:  * Starting MariaDB database server mysqld
Mai 15 16:18:14 hostname mysqld_safe[2726]: Starting mysqld daemon with databases from /var/lib/mysql
Mai 15 16:18:14 hostname mysqld[2731]: 170515 16:18:14 [Note] /usr/sbin/mysqld (mysqld 10.0.29-MariaDB-0ubuntu0.16.04.1) starting as process 2730 ...
Mai 15 16:18:14 hostname mysqld[2731]: 170515 16:18:14 [ERROR] mysqld: File '/var/log/mysql/mariadb-bin.index' not found (Errcode: 13 "Permission denied")
Mai 15 16:18:14 hostname mysqld[2731]: 170515 16:18:14 [ERROR] Aborting
Mai 15 16:18:46 hostname mysql[2542]:    ...fail!
Mai 15 16:18:46 hostname systemd[1]: mysql.service: Control process exited, code=exited status=1
Mai 15 16:18:46 hostname systemd[1]: Failed to start LSB: Start and stop the mysql database server daemon.
Mai 15 16:18:46 hostname systemd[1]: mysql.service: Unit entered failed state.
Mai 15 16:18:46 hostname systemd[1]: mysql.service: Failed with result 'exit-code'.

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

herrmeier schrieb:

Aber wenn wir gerade schon dabei sind und ich nicht auf meine selbst geschriebenen bash-scripts setzen sollte... Welches schlägst Du für einen cubietruck vor?

Nun, wenn du eh schon ein Icinga aufgesetzt hast, dann lass ihn einfach damit checken. Checks die nicht von außen gehen, dann wie gehabt mit NRPE.

Viel wichtiger ist auch wie kommt es, dass log2ram nicht in meiner Dokumentation steht;-)

Richtig 😉

Eine zwischenzeitliche Vergrößerung des log2rams nur so als Test führte aber leider nicht zu einer Lösung. Es bleibt bei dem Problem:

Hattest du mal versucht das File anzulegen und mysql zu übereignen? Irgendwo scheints da noch ein Permission-Problem zu geben. Du könntest es auch einfach mal so testen:

1
2
3
echo "Test" > /var/log/mysql/mariadb-bin.index
chown mysql:mysql /var/log/mysql/mariadb-bin.index
sudo -u mysql sh -c 'cat /var/log/mysql/mariadb-bin.index'

Anschließend solltest du die Daten natürlich wieder leeren, es sollten ja normalerweise Binärdaten drin stehen.

herrmeier

(Themenstarter)

Anmeldungsdatum:
5. Oktober 2006

Beiträge: 297

privat icinga2 auf einer ARM-CPU. Das muss ich mir vielleicht noch einmal anschauen. https://blog.netways.de/2015/03/27/icinga2-und-icinga-web-fur-debianubuntu-auf-arm-prozessoren/ Vielleicht kann ich mir auch etwas Schlaueres überlegen.

1
sudo chmod 777 /var/log/mysql/mariadb-bin.index

Verrückt aber wenn ich Berechtigungen mit chmod erweitere, funktioniert alles sofort...

1
2
$ sudo ls -la /var/log/mysql/mariadb-bin.index
-rw------- 1 root root 0 Mai 14 00:03 /var/log/mysql/mariadb-bin.index

So funktionierte es nicht... Könntest Du nachsehen, wie die Berechtigung bei Dir aussieht? Danke Dir!

BGe

GTAzoccer

Avatar von GTAzoccer

Anmeldungsdatum:
18. Mai 2007

Beiträge: 255

Wohnort: Baden-Württemberg

Schreibrechte für mysql und Leserechte für adm, wie es bei dir anfangs war, sollten an sich schon richtig sein.

herrmeier schrieb:

1
2
3
4
5
6
7
$ namei -l /var/log/mysql/mariadb-bin.index
f: /var/log/mysql/mariadb-bin.index
drwxr-xr-x root  root   /
drwxr-xr-x root  root   var
drwxrwxr-x root  syslog log
drwxr-s--- mysql adm    mysql
                        mariadb-bin.index - No such file or directory

Daher würde ich mal misterunknowns Verdacht nachgehen und schauen ob MariaDB bei dir evt mit einem anderen Benutzer läuft.

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

herrmeier schrieb:

privat icinga2 auf einer ARM-CPU. Das muss ich mir vielleicht noch einmal anschauen. https://blog.netways.de/2015/03/27/icinga2-und-icinga-web-fur-debianubuntu-auf-arm-prozessoren/ Vielleicht kann ich mir auch etwas Schlaueres überlegen.

Du sollst nicht Icinga auf dem ARM installieren, sondern nur den NRPE-Client. Eine Icinga-Instanz hast du ja schon irgendwo, hast du gesagt.

1
sudo chmod 777 /var/log/mysql/mariadb-bin.index

Verrückt aber wenn ich Berechtigungen mit chmod erweitere, funktioniert alles sofort...

777 ist nie eine Lösung.

1
2
$ sudo ls -la /var/log/mysql/mariadb-bin.index
-rw------- 1 root root 0 Mai 14 00:03 /var/log/mysql/mariadb-bin.index

So funktionierte es nicht...

Das ist logisch, offenbar hast du nur einen meiner 3 Befehle ausgeführt -.-

Könntest Du nachsehen, wie die Berechtigung bei Dir aussieht?

Ja, die Berechtigungen bei mir sind mysql:mysql und 660.

herrmeier

(Themenstarter)

Anmeldungsdatum:
5. Oktober 2006

Beiträge: 297

mit chown -R mysql:mysql /var/log/mysql

wurden die Dateien die irgendwie zwischenzeitlich den Benutzern redis und er Gruppe pulse zugeordnet waren wieder mysql zugeordnet. Anschließend war alles wieder erreichbar. Danke Euch

Antworten |