Page 1 of 1

hilfe! aus versehen alle db-user gelöscht

Posted: 2010-04-09 14:10
by coltseavers
hallo!

ich habe über phpmyadmin aus versehen ALLE user gelöscht.
habe nun keinen zugriff mehr auf die DB.


habe eine sicherung der datenbank "mysql" schon versucht zurückzuspielen, in der hoffnung, dass sich in dieser db die tabellen mit den userrechten befinden, aber das hat nicht geholfen.

was kann ich nun machen?

danke & gruß,
colt seavers

Re: hilfe! aus versehen alle db-user gelöscht

Posted: 2010-04-09 14:13
by Joe User
Lege die User halt per MySQL-Shell wieder an.

Re: hilfe! aus versehen alle db-user gelöscht

Posted: 2010-04-09 14:23
by coltseavers
die shell kann ich nicht aufrufen: access denied for user root @ localhost...

@matthias:
"Du kannst den Dump der Tabelle mysql z.B. auf einer neuen DB Instanz einspielen."
wie geht das?
wie gesagt: ich habe kopien von var/lib/mysql/mysql
den inhalt des ordners habe ich zurückkopiert (wodurch ich hoffte die alten userrechte wiederherzustellen, was aber nicht geklappt hat)

es handelt sich um myisam-tabellen

Re: hilfe! aus versehen alle db-user gelöscht

Posted: 2010-04-09 14:45
by coltseavers
hmmm.
sorry, so ganz verstehe ich das noch nicht (bin anfänger).

also:
gesichert wurden die daten mit mysqlhotcopy.
gesichert habe ich unter var/lib/mysql die verzeichnisse mysql und die "datenbank1" mit den nutzdaten (beide verzeichnisse 1:1, datei für datei).

ich habe versucht beide unterverzeichnise durch das backup zu ersetzen, was keine veränderung gebracht hat.
einen "mysql ..."-befehl kann ich nicht absetzen (also auch kein mysql instanz), da auch der root-user nicht existiert und deshalb ein "access denied" ernte!
(das anlegen des recovery-verzeichnisses und das rumwurschteln in der my.cnf hatte darauf natürlich auch keinen einfluss)

und jetzt?

Re: hilfe! aus versehen alle db-user gelöscht

Posted: 2010-04-09 15:02
by coltseavers
nein. ich kann die db weder starten, noch stoppen noch reloaden.
(access denied)
noch einmal: ich habe keine db-root-rechte mehr!

ich könnte höchstens hergehen und den server neu starten. dann würde wohl auch die db nicht mehr hochgefahren (und somit gestoppt sein), könnte dann die daten zurückspielen.
klingt das erfolgsversprechend oder kann ich damit noch mehr schaden produzieren?

Re: hilfe! aus versehen alle db-user gelöscht

Posted: 2010-04-09 15:13
by Roger Wilco
1. mysqld stoppen. Das geht über das Init-Skript oder etwas bestimmter mit `kill`.
2. Benutzer mit administrativen Rechten neu anlegen (http://dev.mysql.com/doc/refman/5.1/en/ ... sions.html).
3. mysqld wieder normal starten und die restlichen Benutzer anlegen.

Re: hilfe! aus versehen alle db-user gelöscht

Posted: 2010-04-09 15:20
by Roger Wilco
mysqld_safe sollte mit dem genannten init-file durchaus dazu gebracht werden können, den nicht vorhandenen root-Benutzer neu anzulegen.

Re: hilfe! aus versehen alle db-user gelöscht

Posted: 2010-04-09 15:26
by Joe User
Bitte MySQL stoppen, /var/lib/mysql komplett leeren und aus Backup wiederherstellen. Danach MySQL starten und mittels http://www.rootforum.org/forum/viewtopi ... 03&t=35082 das root-PW neu setzen und dann die anderen User neu anlegen.

Re: hilfe! aus versehen alle db-user gelöscht

Posted: 2010-04-09 15:28
by Roger Wilco
matzewe01 wrote:Das kann man gerne mal ausprobieren ob mysql_safe, dabei die internen Sicherheitsrichtlinien umgeht.
Klar, wenn man es mit --skip-grant-tables startet.

Re: hilfe! aus versehen alle db-user gelöscht

Posted: 2010-04-09 15:41
by Joe User
Ein mv statt rm geht natürlich auch ;)

Re: hilfe! aus versehen alle db-user gelöscht

Posted: 2010-04-09 18:01
by coltseavers
ich habe nun den mysql-server gestoppt, dann var/lib/mysql geleert und die verzeichnisse "mysql" und "datenbank1" aus dem backup rückgesichert.

beim neustart des servers kommt dann die meldung "failed" ohne weitere begründung.

was kann ich jetzt machen?

Re: hilfe! aus versehen alle db-user gelöscht

Posted: 2010-04-09 18:10
by Roger Wilco
In deinen Logs schauen, was genau "failed".

Re: hilfe! aus versehen alle db-user gelöscht

Posted: 2010-04-09 18:23
by coltseavers
im log erscheint pro startversuch immer nur der folgende eintrag:

###
/usr/sbin/mysqld version xyz. start with tcp port 3306 unix socket /var/run/mysqld/mysqld.sock
Time Id Command Argument
###

keine fehlermeldung, nix. :(

Re: hilfe! aus versehen alle db-user gelöscht

Posted: 2010-04-09 23:29
by coltseavers
servus!

vielen dank für die geduldige hilfe!

der letzte beitrag hat die ersehnte lösung gebracht!
db läuft wieder und auch das backup konnte ich samt usern und deren rechten erfolgreich wieder einspielen.
scheint wohl ein mysql_install_db notwendig gewesen zu sein.

Verbindlichsten Dank