PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem beim einrichten von mysqld



der_angler
30.03.04, 15:12
Hallo,
habe mir Fedora Core installiert, den Webserver eingerichtet und dann wollte ich mysql einrichten.
Das Ganze fängt ja nach dem starten mit dem einrichten des admin Passworts an :

mysqladmin -u root password 'passwort'

nur leider klappt schon das nicht, den ich bekomme nur :

mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user: 'root@localhost' (Using password: NO)'

zurück.
Und jetzt frage ich mich woran kann das liegen, ftp und alles andere läuft schon, nur mysql macht Macken ...

der_angler
31.03.04, 10:56
komisch ist auch folgendes .... nach dem Neustart kann ich zwar mysqld stoppen, aber beim starten zeigt er mir dann nur failed :

[root@webserver etc]# service mysqld stop
Stopping MySQL: [ OK ]
[root@webserver etc]# service mysqld start
Timeout error occurred trying to start MySQL Daemon.
Starting MySQL: [FAILED]
aber im log zeigt er folgendes:

040330 10:49:42 mysqld ended

040330 10:49:45 mysqld started
/usr/libexec/mysqld: ready for connections
desweiteren frage ich dann den status mit service mysqld status ab, aber dann steht da nur das mysqld läuft ...!

Jetzt frage ich mich wie ich meine Datenbank wieder auf die Reihe bekommen soll?

Who-T
31.03.04, 11:46
also zu deinem ersten beitrag:

mysqladmin -u root -h localhost password whatever

das ist das was du ausführen musst, damit du dich von localhost als root connecten kannst.

wenn das nicht mehr geht, start mit
mysqld --skip-grant-tables

und lösch das passwort für den root raus (nur das passwort, nicht die ganze zeile!)
dann kannst es mit mysqladmin neu zuteilen


zum anderen: ist der mysqld wirklich gestoppt wenn du mysql stop ausführst?

der_angler
31.03.04, 16:09
alle deine Tips gingen nicht, geht mir genau wiehttp://www.linuxforen.de/forums/showthread.php?t=130139

und jetzt hab ich den Prozeß mal mit kill gestoppt, aber trotzdem läßt er sich nicht mehr starten ohne Fehler ...

Who-T
31.03.04, 16:59
was sagt ein tail -f /var/log/messages und dann starten?

command not found sagt er dir deswegen weil mysql scheinbar in
/usr/libexec/mysqld
liegt, du wirst keinen path dorthin haben.

führ es von dort aus wie $kull beschrieben hat

$/usr/libexec/mysqld --user=mysql
usw

außerdem:
wir sollten uns auf einen thread einigen, es wird schwer den überblick zu behalten.

thom01
01.04.04, 07:29
Ich war etwas zu faul, das Dingens nochmal ganz neu zu installieren, aber ich habe mal spaßeshalber das root-Passwort gelöscht, mysql neu gestartet und versucht, es dann zu setzten. Das hat geklappt mit:

mysqladmin -u root -p password 'passwort'

und nach der Passwortabfrage einfach "Enter" drücken. Ob das bei einer jungfräulichen Installation auch funktioniert, kann ich nicht sagen, ist zu lange her.

Zur Fehlermeldung beim Starten: Schon mal daran gedacht, dass es einfach ein Fehler im init-Script sein könnte? Sprich, das Ding läuft, es wird einfach eine falsche Meldung ausgegeben, weil was Falsches im Script abgefragt. Hatte ich mal unter SuSE 7.x oder 8. Könnte bei anderen ja durchaus auch vorkommen.

Wenn bei

ps aux | grep mysql

der mysqld auftaucht, ist doch alles in Butter.

der_angler
01.04.04, 17:24
... nachdem alle Tips hier nicht geholfen haben, habe ich mir anders weiter geholfen. Ich habe auf einem anderen PC (mit gleicher Fedora Version) noch schnell mysqld installiert und initialisiert. Dann habe ich einfach die Daten aus /var/lib/mysql/ von dem neuen PC auf den alten kopiert, dann nochmal rpm installiert und versucht mysqld zu starten ...
[root@webserver root]# service mysqld start
Starting MySQL: [ OK ] aber dann gehts weiter
[root@webserver root]# mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.58

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> ... jetzt frag ich mich warum kommt hier keine Passwortabfrage? Zumindest mysql scheint ja zu gehen, aber wo ist die Passwortabfrage?
Also probiere ich mal einen Benutzernamen aus, den es nicht gibt bei mysql
[root@webserver root]# mysql -u wutprobe
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4 to server version: 3.23.58

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> geht leider auch! Sollte aber nicht gehen.
Nun, dann dachte ich mir richtest du endlich mal das root Passwort mit mysqladmin -u root password 'geheim' ein. Soweit so gut, das hat er auch ohne zu murren angenommen. Wenn ich mich jetzt als root einloggen will, kommt folgendes
[root@webserver root]# mysql -u root
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO) melde ich mich aber mit dem unbekannten Benutzer an, dann geht es leider(!) immernoch.
Also kann mir jemand sagen was hier schief läuft???

Achja, wenn ich nach dem setzen des root Passwort versuche mittels service mysqld restart mysql neuzustarten, dann gibt beiom starten jedesmal ein FAILED, auch wenn ich den Dienst einzel starte FAILED, aber erst nach(!) mysqladmin.
Ich weiß net weiter ...

LKH
01.04.04, 17:36
Hi,

als root musst du dich nun mit "mysql -p -u root" anmelden, da der ja nicht mehr ohne Passwort darf.

LKH

der_angler
01.04.04, 17:57
okay, stimmt, wenn ich mich so als root einlogge, dann fragt er mich auch nach dem Passwort, aber warum kann ich mich dann mit dem Benutzer "Wutprobe" ohne Passwort in mysql einloggen, obwohl dieser Benutzer nirgens angelegt wurde.
Und wie kann ich das verhindern, ich will nur das der root sich einloggen kann und die mysql-user, die ich dann später als root anlege ...
Und warum gibt es jetzt immer FAILED wenn ich mysqld starte, obwohl das Ding gestoppt war (services ausgeschaltet und dann reboot)?

Who-T
01.04.04, 18:02
kannst du mit nem anderen user etwas machen?

der_angler
02.04.04, 23:09
also anscheinend kann ich mit dem anderen user nix machen. Jetzt hab ich zwar noch das mit dem FAILED, aber erstmal egal.
Was ich jetzt noch gerne wissen würde, wie kann ich den über die bash eine ein user anlegen, sein passwort setzen, eine datenbank erstellen und dann dem user nur alle(!) rechte auf dieser einen datenbank geben?
Also wenn ich das noch wüßte wäre ich endgültig glücklich!
Achja, wie ich im prinzip per bash in eine Tabelle schreibe das weiss ich schon, mir geht eher um die befehle und argumente und wie ich das passwort übergeben kann.