PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mySQL-server startet nach Passwortvergabe nicht mehr automatisch



mdkuser
05.06.04, 14:55
Hi, habe gerade unter Fedora Core 1 den mySQL-Server installiert.
Funzt auch, jedoch kann ich seit ich für den SQL-Benutzer "root" ein Password gesetzt habe mit mysqladmin -u root password "xxxxx" mysql nicht mehr per init-script starten.
stoppen geht nocht, aber beim starten kriegt er ein timeout. weiss jemand, wie ich den mysql trotzdem automatisch starten lassen kann?
Danke schon mal!

bluesky666
06.06.04, 05:54
hast Du deine /etc/my.cnf angepasst und dein Passwort reingeschrieben

mdkuser
06.06.04, 12:39
Die /etc/my.cnf habe ich nicht angepasst, denn da steht als user "mysql" drin. Das Password habe ich aber für den Benutzer "root" vergeben. Komischerweise startet mysql trotz der Fehlermeldung korrekt, nur finde ich es unschön, wenn jedes mal beim Systemstart [Fehlgeschlagen] auftaucht, selbst wenn der Server in Wirklichkeit gestartet wurde. Nehme ich das Passwort für den root-Benutzer von mysql raus, taucht diese Fehlermeldung nicht auf. Der Benutzer "mysql" ist ein Systembenutzer, als Datenbankbenutzer ist "mysql" nicht eingetragen. Muss ich vielleicht auch einen Datenbankbenutzer "mysql" anlegen? Wie muss denn der Passworteintrag in my.cnf aussehen? Mysql soll nicht als root laufen sondern nach dem start die rechte dropen und als unpriviligierter Benutzer "mysql"laufen.
Ich poste hier mal meine /etc/my.cnf



[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-innodb

[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

mdkuser
06.06.04, 13:02
Ok, habe es jetzt geschafft.
War ein guter Tip mit dem Password-Eintrag in /etc/my.cnf :).
Habe folgendes ergänzt und jetzt läuft es, wichtig ist nur, dass man die Berechtigungen auf /etc/my.cnf auf 600 setzt, da sost das password von allen Benutzern eingesehen werden kann.



[client]
host=localhost
user=username
password=xxxxxxxxx

temir
07.06.04, 00:39
der User sollte mysql bleiben; ein 'chown -R mysql:daemon /var/lib/mysql' hat schon einige
Fehler behoben, ansonsten /etc/init.d/mysql editieren (weil nicht immer 'ganz richtig').

mdkuser
07.06.04, 09:33
Die Berechtigungen aud /var/lib/msql waren schon so eingestellt. Top zeigt mir auch, dass mysql als user mysql läuft. Trotzdem muss ich in der /etc/my.cnf einen gültigen DB-Benutzer mit Password angeben, sonst gibt es beim Start ne Fehlermeldung (datenbank startet aber trotzdem korrekt). Im initscript habe ich auch nachgeschaut, das steht drin, dass er den user aus de my.snf auslesen soll und dort seht bei mysqld user mysql. sieht also alles ganz gut aus soweit...

temir
07.06.04, 13:20
ich meinte, dass in die /etc/my.cnf auf keinen Fall ein Password rein darf, -
es liegt an dem init-script: suche die Stelle mit dem Start-command; ein paar Zeilen
weiter (oder in der nächsten) gibt's einen 'sleep' und dann wird geprüft nach...socket?
Ein 'sleep 3' (oder 5) behebt das Problem mit der komischen Meldung, da mysql normal
hochkommt.