hilfe! aus versehen alle db-user gelöscht

MySQL, PostgreSQL, SQLite
User avatar
coltseavers
Posts: 187
Joined: 2009-11-04 00:43
Location: NRW

hilfe! aus versehen alle db-user gelöscht

Post by coltseavers » 2010-04-09 14:10

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

User avatar
Joe User
Project Manager
Project Manager
Posts: 11137
Joined: 2003-02-27 01:00
Location: Hamburg

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

Post by Joe User » 2010-04-09 14:13

Lege die User halt per MySQL-Shell wieder an.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

User avatar
coltseavers
Posts: 187
Joined: 2009-11-04 00:43
Location: NRW

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

Post by coltseavers » 2010-04-09 14:23

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

User avatar
coltseavers
Posts: 187
Joined: 2009-11-04 00:43
Location: NRW

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

Post by coltseavers » 2010-04-09 14:45

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?
Last edited by coltseavers on 2010-04-09 14:48, edited 1 time in total.

User avatar
coltseavers
Posts: 187
Joined: 2009-11-04 00:43
Location: NRW

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

Post by coltseavers » 2010-04-09 15:02

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?
Last edited by coltseavers on 2010-04-09 15:06, edited 2 times in total.

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

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

Post by Roger Wilco » 2010-04-09 15:13

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.

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

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

Post by Roger Wilco » 2010-04-09 15:20

mysqld_safe sollte mit dem genannten init-file durchaus dazu gebracht werden können, den nicht vorhandenen root-Benutzer neu anzulegen.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11137
Joined: 2003-02-27 01:00
Location: Hamburg

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

Post by Joe User » 2010-04-09 15:26

Bitte MySQL stoppen, /var/lib/mysql komplett leeren und aus Backup wiederherstellen. Danach MySQL starten und mittels viewtopic.php?f=103&t=35082 das root-PW neu setzen und dann die anderen User neu anlegen.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

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

Post by Roger Wilco » 2010-04-09 15:28

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.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11137
Joined: 2003-02-27 01:00
Location: Hamburg

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

Post by Joe User » 2010-04-09 15:41

Ein mv statt rm geht natürlich auch ;)
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

User avatar
coltseavers
Posts: 187
Joined: 2009-11-04 00:43
Location: NRW

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

Post by coltseavers » 2010-04-09 18:01

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?

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

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

Post by Roger Wilco » 2010-04-09 18:10

In deinen Logs schauen, was genau "failed".

User avatar
coltseavers
Posts: 187
Joined: 2009-11-04 00:43
Location: NRW

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

Post by coltseavers » 2010-04-09 18:23

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. :(

User avatar
coltseavers
Posts: 187
Joined: 2009-11-04 00:43
Location: NRW

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

Post by coltseavers » 2010-04-09 23:29

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