menü

status

online seit 5227 tagen
letztes update am
28. November, 15:45

kalender

September 2005
Mo
Di
Mi
Do
Fr
Sa
So
 
 
 
 1 
 5 
 7 
10
12
13
15
23
25
28
30
 
 
 

aktuelles

Ich lebe noch!
nighthawk - 28.11. 15:45
Nach langer Zeit ...
nighthawk - 05.10. 01:09
Lösungen vom draufgucken
nighthawk - 27.02. 23:30
Mal 'was neues
nighthawk - 26.01. 23:29
Ganz Münster auf dem Aasee
nighthawk - 11.01. 21:17

historisches

suche

 

buttonmania

xml version of this page

paRSS - Feews! for the rest of us

startseite > Donnerstag, 29.09.2005


Donnerstag, 29. September 2005

Ausgesperrt, aus dem eigenen Datenbankserver


dem einen oder anderen ist heute nachmittag vielleicht die mehrfache kurze nicht-verfuegbarkeit dieser seite aufgefallen.. der grund war ein ganz einfach:
ich wollte einen user in mysql loeschen und habe mich in phpmyadmin verklickt.. und leider den benutzer root erwischt. da ich natuerlich "benutzer loeschen und zugriffstabellen neu laden" angeklickt hatte, war ich postwendend ausgesperrt.
nachdem ich kurz das gelaechter der arbeitskollegen auf meiner seite hatte, kam dann auch ein konstruktiver vorschlag.. man kann mysql mit dem parameter --skip-grant-tables starten, dann kommt man auch ohne passwort in die konsole. zusaetzlich sollte man dann auch --skip-networking benutzen, damit nicht jedem tuer und tor geoeffnet werden.

mysqld_safe --skip-grant-tables --skip-networking &

in der konsole angekommen muss man dann root wieder anlegen.. das muss allerdings "manuell" per direktem insert in die mysql.user tabelle passieren, denn --skip-grant-tables deaktiviert konsequenterweise grant gleich mit. praktischerweise hat die user tabelle auch kaum unendlich viele spalten und es reicht auch nicht aus, nur einen user mit super_priv='Y' oder grant_priv='Y' anzulegen und dann im normal gestarteten mysql einfach

grant all privileges on *.* to root@localhost identified by 'passwort';

auszufuehren.. nein, man muss wirklich alle priv-spalten auf 'Y' setzen. man bastelt sich also folgenden befehl zusammen:

use mysql;
insert into user ( host, user, password, select_priv, insert_priv, update_priv, delete_priv, create_priv, drop_priv, reload_priv, shutdown_priv, process_priv, file_priv, grant_priv, references_priv, index_priv, alter_priv, show_db_priv, super_priv, create_tmp_table_priv, lock_tables_priv, execute_priv, repl_slave_priv, repl_client_priv ) values ( 'localhost', 'root', password('passwort'), 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y' );

und danach kann man den mysql daemon normal starten und hat wieder einen benutzer root.
ältere beiträge