Kann MySQL Server nicht starten

Sir_Blizzardz

Well-Known Member
Hallo,
habe auf meinem OpenBSD 4.2 gerade mit pkg_add mysql-server-5.0.45 installiert. Wenn ichs mit # /usr/local/bin/mysqld_safe & starten will um das root-Passwort zu setzen kriege ich immer folgende Meldung:

# touch: /var/mysql/blowfish.blizzardz.err: No such file or directory
chown: /var/mysql/blowfish.blizzardz.err: No such file or directory
Starting mysqld daemon with databases from /var/mysql
/usr/local/bin/mysqld_safe[314]: cannot create /var/mysql/blowfish.blizzardz.err: No such file or directory
/usr/local/bin/mysqld_safe: cannot create /var/mysql/blowfish.blizzardz.err: No such file or directory
STOPPING server from pid file /var/mysql/blowfish.blizzardz.pid
tee: /var/mysql/blowfish.blizzardz.err: No such file or directory
080122 18:32:58 mysqld ended
tee: /var/mysql/blowfish.blizzardz.err: No such file or directory

Warum ist das so und wie kann ich das Problem lösen? :(
 
Hi

hast den mysql-server nach anleitung cat /usr/local/share/doc/mysql/README.OpenBSD gestartet?
Wenn noch kein mysql auf dem system war brauchst du eine default db

hoffe das hilft
 
in der readme ist auch drin, welche werte ein wenig angepasst werden müssen. allerdings ist dort der user, der in die login.conf soll falsch benannt. der user, unter dem mysql später läuft, ist "_mysql" (strich vor dem namen) und nicht "mysql".
 
Super, der läuft jetzt auch. :)
Allerdings bin ich wieder bei hängen geblieben, diesmal bei phpMyAdmin:
Wenn ich mich einloggen möchte, bekomme ich die Fehlermeldung "#2002 - Der Server antwortet nicht. (evtl. ist auch der Socket des lokalen MySQL-Servers socket nicht korrekt konfiguriert)".
Habe schon in der config.inc.php bei "$cfg['Servers'][$i]['socket']" explizit "/var/run/mysql/mysql.sock" eingetragen, allerdings besteht das Problem immer noch.
Der mySQL-Server läuft definitv, ich kann mich dort schon einloggen und Abfragen machen.
 
hehe, denke daran, dass der apache standardmäßig im chroot läuft :). du kannst nun entweder den socket ins chroot linken oder in /etc/my.conf den socket im chroot erstellen. alternativ schickst du phpmyadmin übers netz auf die datenbank.
 
Ja, hab jetzt den Ordner /var/www/run/mysql/ erstellt und den socket über die my.cnf da reinverschoben.
Der Socket liegt jetzt da drin während der mySQL-Server läuft und ich kann mich über die Konsole auch ganz normal einloggen und Abfragen starten. Der Apache ist Owner von dem Ordner, hat also Schreib- und Leserechte, trotzdem bekomm ich im Browser wenn ich mittels einer php-Datei eine Verbindung zum mySQL-Server aufbauen will einen Socketerror (der glücklicherweise auf den neuen Pfad zeigt).
 
das gleiche hatte ich auch versucht, aber ich habe den weg über das reinlinken von dem socket gewählt.

vielleicht hilft dir auch der thread hier weiter

EDIT: der owner braucht (darf?) nicht der apache sein:
Code:
~ $ sudo ls -al /var/run/mysql/
total 8
drwx--x--x  2 _mysql  _mysql  512 Jan 18 13:16 .
drwxr-xr-x  3 root    wheel   512 Jan 18 13:16 ..
srwxrwxrwx  2 _mysql  _mysql    0 Jan 18 13:16 mysql.sock
marc@illian
~ $ sudo ls -al /var/www/var/run/mysql/
total 8
drwxr-xr-x  2 root    www     512 Jan 18 13:16 .
drwxr-xr-x  3 root    www     512 Jan 18 13:16 ..
srwxrwxrwx  2 _mysql  _mysql    0 Jan 18 13:16 mysql.sock

EDIT2: ich kann dir, bei bedarf, auch den aufruf von mir in /etc/rc.local schicken. pn an mich.
 
Hm die Tips haben leider nicht geholfen.
Ich bin mittlerweile auch sehr verunsichert über folgende Zeile in der php.ini:
Code:
mysql.default_socket = /www/run/mysql/mysql.sock;
Könnte es auch an dem liegen?
Hab _mysql jetzt auch wieder zum Owner des Sockets + Ordner gemacht.
 
mysql.default_socket = /www/run/mysql/mysql.sock;

sollte das socket nicht in /var/www/run/mysql/mysql.sock liegen? Dann hast du ein /www/ zuviel, oder ein /var/ zu wenig angegeben :P (/var/www/var/www ist symlink auf .., also /var/www/ bzw. / im chroot, macht also nichts das komplett anzugeben.)
 
Hallo Sir_Blizzardz

hast mal versucht 'localhost' in der config.inc.php in '127.0.0.1' zu ändern?

@oenone
haben den wald vor lauter bäumen nicht gesehen
 
Zuletzt bearbeitet:
Hallo Sir_Blizzardz

hast mal versucht 'localhost' in der config.inc.php in '127.0.0.1' zu ändern?

Wozu? Er will doch über unix domain socket und nicht über TCP socket darauf zugreifen... da wird gar kein hostname benutzt (oder aufgelöst), und keine ip zum verbinden benutzt, sondern ein dateipfad.
 
Jetzt geht es :)
Ich denke, es lag an dem Pfad in der php.ini ...
Komischerweise lädt das phpMyAdmin keine Stylesheets, obwohl die durchaus existieren, woran kann das liegen?

edit:
Habs, lag am /tmp Verzeichnis :)
 
Zuletzt bearbeitet:
Zurück
Oben