PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mysql neu installiert -> Root login



smartysmart34
11.06.10, 23:22
Hallo zusammen,

ich habe mir unter Suse 11.1 mysql neu installiert und möchte nun das Root-Passwort setzen. Allerdings bekomme ich folgende Meldung:

> mysqladmin -u root password newpass

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

Kann mir da jemand schnell und unbürokratisch nen Tipp geben? Ich steh um die Uhrzeit auf dem Schlauch :-(

Edit: Es laufen zwei Prozesse: mysqld und mysqld_safe.
Auch mit "mysql -u root -p" komme ich nicht rein. Meldung:
SoltauSuseServer:/etc/apache2 # mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Danke und Gruß,
Martin

BedriddenTech
11.06.10, 23:58
Da wird wohl noch das alte Passwort drin sein, weil eine Neuinstallation nicht die Datenbank killt.

smartysmart34
12.06.10, 00:11
Äh, sorry, nein, das hatte ich nicht gemeint. Auf dem Rechner war mysql vorher noch nicht drauf. Ich habe das jetzt sozusagen neu nachinstalliert. Und alte dBs sind da auch nicht drin. Ausserdem habe ich die mir bekannten Passwörter, die theoretisch in Frage kommen durch.....

Danke und Gruß,
Martin

MiGo
12.06.10, 01:18
http://www.howtoforge.com/reset-forgotten-mysql-root-password

:), MiGo

Edit:

Ausserdem habe ich die mir bekannten Passwörter, die theoretisch in Frage kommen durch.....
Die MySQL-Passwörter haben rein gar nichts mit den Linux-Passwörtern zu tun - bekannte Passwörter durchprobieren bringt da wenig ^^
Wenn du MySQL neu installierst, gibt es KEIN Passwort - dementsprechend ist "mysql -u root -p" das falsche Kommando - richtig wäre eigentlich "mysql -u root", einfach ohne Passwort.

smartysmart34
12.06.10, 22:56
Irgandwas ist hier nicht ganz in Ordnung. Ich habe mysql so gestoppt und gestartet, wie im Link beschrieben. Ich konnte mich dann auch per mysql als root anmelden. Aber die SQL-Statements haben keine Tabelleneinträge geändert (0 rows affected):

mysql> update user set Password=PASSWORD('neuespasswort') where user='root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit;
Bye

smartysmart34
12.06.10, 23:18
Irgendwas stimmt da nicht....

mysql> SELECT Host, User FROM mysql.user;
Empty set (0.00 sec)

Wenn ich einen neuen Eintrag machen will:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'passwort' WITH GRANT OPTION;
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql>

???

smartysmart34
15.06.10, 10:13
Hallo nochmal: Täuscht mich der Eindruck, oder wurden in meinem Fall GARKEINE User in der mysql-DB angelegt? Also auch kein root ohne Passwort?

Ist da ein Post-Install-Script vielleicht nicht gelaufen?
Könnte ich das manuell anstossen? Weiss jemand was da alles passiert?

Oder könnte löschen und neu installieren helfen?

Danke und Gruß,
Martin

MiGo
15.06.10, 11:12
Hallo nochmal: Täuscht mich der Eindruck, oder wurden in meinem Fall GARKEINE User in der mysql-DB angelegt? Also auch kein root ohne Passwort?
Sieht schwer danach aus - oder aber sie wurden versehentlich gelöscht oder die Datenbankdateien verschoben/gelöscht. Eventuell weiss ja das mysql-Errorlog was drüber.

Debian zumindest bringt die "Basis-Tabellen" in /usr/share/mysql mit; eventuell kannst du die einfach neu einspielen und kommst so um eine Neuinstallation rum.