MySQL ---> root-Account gelöscht
Hi Liste! Ist mir zwar total unangenehm, das jetzt zuzugeben, doch mir ist bei meinen ersten Schritten mit MySQL was passiert: Anstelle von RTFM hab ich's mit "learning by doing" versucht und hab dabei den User 'root' gelöscht und kann daher paktisch nix mehr machen. Hab mich zwar schon ne Weile durchgegooglet, doch bis jetzt leider ohne Erfolg - bin grad mal draufgekommen, wie man ein zerschossenes root-Passwort wiederherstellen kann und nicht den "ganzen" User. Auch eine neuerliche Installation von MySQL hat den gewünschten Erfolg nicht gebracht. Bitte nicht böse sein, doch ich bin bei MySQL ein totaler Newbie und bin froh, wenn ich's wieder zum laufen kriege. Hab noch keine Datenbanken angelegt, also ist's wegen den Daten her egal. Weiß wer Rat? Danke im voraus, Sascha
Hallo Sascha, * Sascha schrieb am 18.03.2003:
Hi Liste!
Ist mir zwar total unangenehm, das jetzt zuzugeben, doch mir ist bei meinen ersten Schritten mit MySQL was passiert: Anstelle von RTFM hab ich's mit "learning by doing" versucht und hab dabei den User 'root' gelöscht und kann daher paktisch nix mehr machen. Hab mich zwar schon ne Weile durchgegooglet, doch bis jetzt leider ohne Erfolg - bin grad mal draufgekommen, wie man ein zerschossenes root-Passwort wiederherstellen kann und nicht den "ganzen" User. Auch eine neuerliche Installation von MySQL hat den gewünschten Erfolg nicht gebracht.
Bitte nicht böse sein, doch ich bin bei MySQL ein totaler Newbie und bin froh, wenn ich's wieder zum laufen kriege. Hab noch keine Datenbanken angelegt, also ist's wegen den Daten her egal. Weiß wer Rat?
killall mysqld mysqld -Sg Dann auf einer anderen Konsole: mysql -u root -p mysql (kein Passwort) INSERT INTO user VALUES ('localhost','root',password('GEHEIM'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); flush privileges; Den GRANT-Befehl kenn ich jetzt nicht genau, mit dem geht es auch irgendwie. Den mysqld-Daemon killen, normal starten und Du hast Deinen root-User wieder ;-)) Grüße, Tom
Hallo, [MySQL-root gelöscht]
killall mysqld mysqld -Sg
skip-grant-tables: MySQL beachtet etwaige Rechte nicht, damit kann man sich bei der DB ohne Authentifizierung (also ohne Passwort) anmelden.
Dann auf einer anderen Konsole:
mysql -u root -p mysql (kein Passwort)
mysql-Client als User root und Datenbank MySQL starten.
INSERT INTO user VALUES ('localhost','root',password('GEHEIM'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
root-User mit allen Rechten und dem Passwort "GEHEIM" anlegen. Hier darf nur von lokal darauf zugegriffen werden.
flush privileges;
Cache der User-Brechtigungen neu laden, bzw. schreiben.
Den GRANT-Befehl kenn ich jetzt nicht genau, mit dem geht es auch irgendwie.
killall mysqld rcmysql start
Den mysqld-Daemon killen, normal starten und Du hast Deinen root-User wieder ;-))
Ich kann für MySQL ein gutes Buch empfehlen: MySQL Einführung, Programmierung, Referenz Michael Kofler Addison-Wesley 2001 ISBN 3-8273-1762-2 49,95 Euro Zum Einstieg reicht das. Grüße, Tom
Am Dienstag, 18. März 2003 20:44 schrieb Thomas Preissler:
Hallo,
[MySQL-root gelöscht]
killall mysqld
rcmysql stop sollt's auch tun :-)
mysqld -Sg
ERROR 2002: Can'r connect to local MySQL server through socket 'g' (2)
skip-grant-tables: MySQL beachtet etwaige Rechte nicht, damit kann man sich bei der DB ohne Authentifizierung (also ohne Passwort) anmelden.
ähm....... ja..... verstehe hier ehrlich gesagt nur Bahnhof :-( Mir ist das "skip-grant-tables" zwar schon mal wo untergekommen, doch wie gesagt: Bin leider noch Newbie :-/
Dann auf einer anderen Konsole:
mysql -u root -p mysql (kein Passwort)
mysql-Client als User root und Datenbank MySQL starten.
(sofern MySQL steht:) Enter password: ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) (sofern MySQL läuft:) Enter password: ERROR 1044: Access denied for user: '@localhost' to database 'mysql' Brauche ich für diese Aktion nicht schon den User 'root' - den ich leider geschossen hab'?
INSERT INTO user VALUES ('localhost','root',password('GEHEIM'),'Y','Y','Y','Y','Y','Y','Y','Y','Y ','Y','Y','Y','Y','Y');
root-User mit allen Rechten und dem Passwort "GEHEIM" anlegen. Hier darf nur von lokal darauf zugegriffen werden.
Sofern ich mysql nur mit "mysql -u root" starte (mit angehängtem "-p mysql" gehts praktisch nicht) und anschließend im MySQL-Monitor "insert into user ...." eingebe, kommt die Fehlermeldung "ERROR 1046: No Database Selected" Net bös sein - i geb's auf.
flush privileges;
Cache der User-Brechtigungen neu laden, bzw. schreiben.
Den GRANT-Befehl kenn ich jetzt nicht genau, mit dem geht es auch irgendwie.
killall mysqld rcmysql start
Den mysqld-Daemon killen, normal starten und Du hast Deinen root-User wieder ;-))
Ich kann für MySQL ein gutes Buch empfehlen:
MySQL Einführung, Programmierung, Referenz Michael Kofler Addison-Wesley 2001 ISBN 3-8273-1762-2 49,95 Euro
Zum Einstieg reicht das.
Danke für den Tip!!
Grüße, Tom
Hallo Sascha, * Sascha schrieb am 20.03.2003:
Am Dienstag, 18. März 2003 20:44 schrieb Thomas Preissler:
Hallo,
[MySQL-root gelöscht]
killall mysqld
rcmysql stop sollt's auch tun :-)
Ja, zum Teil. Ich habe allerdings mit den rc-Scripten schlechte Erfahrung gemacht. Zum einen, schreiben sie, Prozess ist beendet läuft noch und umgekehrt. Wie vielleicht ein killall suggerieren mag, es ist *kein* abruptes Ende des Prozesses. Der Prozess hat noch genug Zeit, sich sauber zu beenden. Etwas anderes ist killall -9...
mysqld -Sg
ERROR 2002: Can'r connect to local MySQL server through socket 'g' (2)
mysqld, das d am Ende nicht vergessen.
skip-grant-tables: MySQL beachtet etwaige Rechte nicht, damit kann man sich bei der DB ohne Authentifizierung (also ohne Passwort) anmelden.
ähm....... ja..... verstehe hier ehrlich gesagt nur Bahnhof :-( Mir ist das "skip-grant-tables" zwar schon mal wo untergekommen, doch wie gesagt: Bin leider noch Newbie :-/
Machs einfach ;-)) [...] [ohne mysqld -Sg geht es nicht weiter] [...] Grüße, Tom
[snip]
mysqld -Sg
ERROR 2002: Can'r connect to local MySQL server through socket 'g' (2)
mysqld, das d am Ende nicht vergessen.
[snip] lokus:~ # mysqld -Sg Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root! 030320 20:56:52 Aborting 030320 20:56:52 mysqld: Shutdown Complete Gruß, Sascha
Hallo Sascha, * Sascha schrieb am 20.03.2003:
[snip]
mysqld -Sg
ERROR 2002: Can'r connect to local MySQL server through socket 'g' (2)
mysqld, das d am Ende nicht vergessen.
[snip]
lokus:~ # mysqld -Sg Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root! 030320 20:56:52 Aborting
030320 20:56:52 mysqld: Shutdown Complete
Bald habe wir es: mysqld -Sg -u mysql Grüße, Tom
participants (2)
-
Sascha Piculjan
-
Thomas Preissler