mysql in einem jail

Mardor

Well-Known Member
Hallo,

ich habe mysql-server in einem Jail installiert, allerdings erhalte ich beim Starten immer folgende Meldung:

Code:
/usr/local/etc/rc.d/mysql-server start
Starting mysql.
/usr/sbin/daemon: Permission denied
/usr/local/etc/rc.d/mysql-server: WARNING: failed to start mysql

Leider kann ich zu diesem Problem keine Lösung finden, es gibt zwar einige Ergebnisse bei google aber der Eintrag "https://forums.freebsd.org/threads/solved-mariadb-server-service-wont-start.47613/" hilft mir überhaupt nicht.

Eventuell habt Ihr eine Idee?

Gruß Mardor
 
Probiere mal die Nutzerdatenbank neu zu bauen. Das hilft oft bei obskuren Problemen in Sachen Nutzerwechsel:
Code:
pwd_mkdb /etc/master.passwd
 
Hallo Yamagi,

leider hatte das nix gebracht.

Code:
[1] 27.11.2014 7:10 root@webserver_1 ~: pwd_mkdb /etc/master.passwd
[2] 27.11.2014 7:10 root@webserver_1 ~: /usr/local/etc/rc.d/mysql-server start
Starting mysql.
/usr/sbin/daemon: Permission denied
/usr/local/etc/rc.d/mysql-server: WARNING: failed to start mysql

Gruß Mardor
 
Also ich habe den ZFS snapshot nochmals recovered damit ich ein komplett frischen Jail habe ohne irgendwelche anderen Apps, nur portmaster ist im System aktiv.
Das Problem besteht somit auch bei einem neuen Jail wenn mysql installiert wurde.

Bzgl. des Links habe ich keine Datei mit dem Namen /etc/pw.conf bei dem ich die Berechtigung prüfen könnte.

Gruß Mardor
 
Unten beim letzten Eintrag ist noch von /usr/sbin/daemon die Rede. Leider habe ich im Moment keine Jail mit mysql hier.
 
Hallo foxit,

die Berechtigung ist:

Code:
-r-xr-xr-x  1 root  wheel  8.9K Nov 25 09:11 daemon

Eigentlich sollte dies ausreichen. Aber selbst wenn ich ein 777 im Basejail gebe und auch nochmals überprüfe das dies im mysql Jail auch vorhanden ist erhalte ich die gleiche Fehlermeldung.

Gruß Mardor
 
Setze doch mal rc_debug="YES" in der rc.conf, vielleicht sieht man dann mehr.
Kleiner Nachtrag: ich könnte mir denken, dass es dabei um das pidfile geht, wie sind die Berechtigungen des Verzeichnisses /var/db/mysql ?

Rob
 
Ja, da kam mehr raus:

Code:
/usr/local/etc/rc.d/mysql-server: DEBUG: pid file (/var/db/mysql/webserver_1.pid): not readable.
/usr/local/etc/rc.d/mysql-server: DEBUG: checkyesno: mysql_enable is set to YES.
/usr/local/etc/rc.d/mysql-server: DEBUG: run_rc_command: start_precmd: mysql_prestart
/usr/local/etc/rc.d/mysql-server: DEBUG: checkyesno: mysql_limits is set to NO.
Starting mysql.
/usr/local/etc/rc.d/mysql-server: DEBUG: run_rc_command: doit: su -m mysql -c 'sh -c "/usr/sbin/daemon  -c -f /usr/local/bin/mysqld_safe --defaults-extra-file=/var/db/mysql/my.cnf --user=mysql --datadir=/var/db/mysql --pid-file=/var/db/mysql/webserver_1.pid "'
/usr/sbin/daemon: Permission denied
/usr/local/etc/rc.d/mysql-server: WARNING: failed to start mysql
 
Aber gerne doch :)

Code:
[4] 27.11.2014 11:04 root@webserver_1 ~: ls -lsh / | grep usr
1 lrwxr-xr-x   1 root  wheel    11B Jan 16  2014 sys -> usr/src/sys
1 drwxr-xr-x   6 root  wheel    16B Nov 25 09:12 usr
[5] 27.11.2014 11:32 root@webserver_1 ~: ls -lsh /usr | grep sbin
1 lrwxr-x---   1 root  wheel    18B Nov 25 09:11 sbin -> /basejail/usr/sbin
[6] 27.11.2014 11:32 root@webserver_1 ~: ls -lsh /usr/sbin/daemon
1 -r-xr-xr-x  1 root  wheel   8.9K Nov 25 09:11 /usr/sbin/daemon
 
Hallo,

Das ist korrekt aber leider hilft mir die Änderung nicht beim Problem:

Code:
[7] 27.11.2014 11:32 root@webserver_1 ~: chmod -h 755 /usr/sbin

[8] 27.11.2014 11:40 root@webserver_1 ~: ls -lsh /usr | grep sbin
1 lrwxr-xr-x   1 root  wheel    18B Nov 25 09:11 sbin -> /basejail/usr/sbin

[9] 27.11.2014 11:40 root@webserver_1 ~: /usr/local/etc/rc.d/mysql-server start
/usr/local/etc/rc.d/mysql-server: DEBUG: pid file (/var/db/mysql/webserver_1.pid): not readable.
/usr/local/etc/rc.d/mysql-server: DEBUG: checkyesno: mysql_enable is set to YES.
/usr/local/etc/rc.d/mysql-server: DEBUG: run_rc_command: start_precmd: mysql_prestart
/usr/local/etc/rc.d/mysql-server: DEBUG: checkyesno: mysql_limits is set to NO.
Starting mysql.
/usr/local/etc/rc.d/mysql-server: DEBUG: run_rc_command: doit: su -m mysql -c 'sh -c "/usr/sbin/daemon  -c -f /usr/local/bin/mysqld_safe --defaults-extra-file=/var/db/mysql/my.cnf --user=mysql --datadir=/var/db/mysql --pid-file=/var/db/mysql/webserver_1.pid "'
/usr/sbin/daemon: Permission denied
/usr/local/etc/rc.d/mysql-server: WARNING: failed to start mysql
 
Was sagt
# su -m mysql -c "/usr/local/bin/mysqld_safe --defaults-extra-file=/var/db/mysql/my.cnf --user=mysql --datadir=/var/db/mysql --pid-file=/var/db/mysql/webserver_1.pid"
 
Die Ausgabe ist:

Code:
10] 27.11.2014 11:40 root@webserver_1 ~: su -m mysql -c "/usr/local/bin/mysqld_safe --defaults-extra-file=/var/db/mysql/my.cnf --user=mysql --datadir=/var/db/mysql --pid-file=/var/db/mysql/webserver_1.pid
Unmatched ".

[11] 27.11.2014 11:48 root@webserver_1 ~: su -m mysql -c 'sh -c "/usr/sbin/daemon  -c -f /usr/local/bin/mysqld_safe --defaults-extra-file=/var/db/mysql/my.cnf --user=mysql --datadir=/var/db/mysql --pid-file=/var/db/mysql/webserver_1.pid "'
/usr/sbin/daemon: Permission denied
 
Hallo,

sorry:

Code:
[13] 27.11.2014 11:51 root@webserver_1 ~: su -m mysql -c "/usr/local/bin/mysqld_safe --defaults-extra-file=/var/db/mysql/my.cnf --user=mysql --datadir=/var/db/mysql --pid-file=/var/db/mysql/webserver_1.pid"
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: cut: Permission denied
/usr/local/bin/mysqld_safe: wc: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
UMASK must be a 3-digit mode with an additional leading 0 to indicate octal.
The first digit will be corrected to 6, the others may be 0, 2, 4, or 6.
/usr/local/bin/mysqld_safe: cut: Permission denied
UMASK corrected from 0640 to 06 ...
/usr/local/bin/mysqld_safe: grep: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
141127 10:51:31 mysqld_safe Logging to '/var/db/mysql/webserver_1.err'.
/usr/local/bin/mysqld_safe: touch: Permission denied
/usr/local/bin/mysqld_safe: chown: Permission denied
/usr/local/bin/mysqld_safe: dirname: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
/usr/local/bin/mysqld_safe: sed: Permission denied
141127 10:51:31 mysqld_safe Starting mysqld daemon with databases from /var/db/mysql
/usr/local/bin/mysqld_safe: sed: Permission denied
eval: 1: Syntax error: redirection unexpected (expecting word)
 
Ich würde eventuell das Kommando noch einmal unter Truss ausführen. Das kann verdammt viel Ausgabe erzeugen, sagt uns aber vielleicht welcher Syscall fehlschlägt:
Code:
# su -m mysql -c 'sh -c "truss /usr/sbin/daemon -c -f /usr/local/bin/mysqld_safe --defaults-extra-file=/var/db/mysql/my.cnf --user=mysql --datadir=/var/db/mysql --pid-file=/var/db/mysql/webserver_1.pid "'

EDIT: Da haben wir uns überschnitten. Höre auf KobRheTilla. :)
 
Da erhalte ich:

Code:
su -m mysql -c 'sh -c "truss /usr/sbin/daemon -c -f /usr/local/bin/mysqld_safe --defaults-extra-file=/var/db/mysql/my.cnf --user=mysql --datadir=/var/db/mysql --pid-file=/var/db/mysql/webserver_1.pid "'
truss: Permission denied
 
Sind die Berechtigungen im Jail oder ausserhalb des Jails kaputt. Bringt es war einen ganz neuen Jail anzulegen ?
Oder soll ich das System erneut aufsetzen. Eventuell sind die Berechtigung schon im Image von Hetzner.
 
Wie ich bereits sagte... Du hast falsche Berechtigungen unter / und /usr, wenn nicht sogar noch an weiteren Stellen.
Überprüfe die Links auf das Basejail und setzte sie auf 755.

Rob
 
Also ich habe /usr auf 755 gesetzt

Code:
[77] 27.11.2014 12:04 root@randy /usr/jails/basejail: chmod 755 usr/
[78] 27.11.2014 12:04 root@randy /usr/jails/basejail: ll
total 1
drwxr-xr-x   2 root  wheel    47B Nov 25 09:11 bin
drwxr-xr-x   7 root  wheel    40B Nov 25 09:11 boot
drwxr-xr-x   3 root  wheel    50B Nov 25 09:11 lib
drwxr-xr-x   3 root  wheel     5B Nov 25 09:11 libexec
drwxr-xr-x   2 root  wheel   142B Nov 25 09:11 rescue
drwxr-xr-x   2 root  wheel   132B Nov 25 09:11 sbin
drwxr-xr-x  12 root  wheel    12B Nov 25 09:23 usr

Danach kann ich Ihn Probleme MySQL starten.
Erstmal tausend Dank für die Tipps, da wäre ich nie von alleine draufgekommen !

Ich könnte mich jedoch nicht daran erinnern, dass ich so eine Einstellung gestern oder heute vorgenommen habe. Ist dies denn die Defaul Einstellung.


Gruß Mardor
 
Die Lösung war übrigens in dem verlinkten Thread deines ersten Beitrags bereits vorhanden, du hättest nur mal ein wenig genauer hinschauen sollen auf deinem System.

Rob
 
Zurück
Oben