ubuntuusers.de

MySQL - kein Root Login möglich

Status: Gelöst | Ubuntu-Version: Xubuntu 11.10 (Oneiric Ocelot)
Antworten |

Kamikaze321

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 104

Hallo,

Ich habe mit phpmyadmin die MySQL Datenbank verwaltet und den Benutzer root TEILWEISE gelöscht, dieser war mehrfach eingetragen für unterschiedliche login-IPs etc. deswegen sah ich keinen Sinn darin und habe ein paar Einträge gelöscht - ich wollte dass root ohne Einschränkung sich einlogen kann. Zu meinem entsetzen kann ich mich nicht mehr als Root einloggen, obwohl der Eintrag meiner Meinung nach noch da war.

Ich habe den Mysql-Server gestoppt und mit

1
mysqld_safe --skip-grant-tables &

gestartet. dann...

1
2
[root@server init.d]# mysql -u root mysql
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

Auch das habe ich probiert:

1
2
[root@server init.d]# mysqladmin -u root -h 192.168.178.2 password "mysqlpasswort"
mysqladmin: Can't turn off logging; error: 'Access denied; you need the SUPER privilege for this operation'

Auch habe ich im Netz folgenden Tipp gefunden und ausprobiert:

1
2
[root@server init.d]# mysqladmin flush-privileges password '*'
mysqladmin: reload failed; error: 'Access denied; you need the RELOAD privilege for this operation'

für die RELOAD Opertion benötige ich aber root Rechte ☹

Ich habe keine Ahnung was ich machen soll. Ich möchte wieder Zugriff als Root erlangen, das Passwort ist ja gesetzt, somit ist auch der User da. nur kann ich mich nicht einloggen. Als ein anderer Nutzer kann ich mich aber einloggen. Root benötige ich jedoch, da damit die Datenbank meiner Homepage läuft, welche zur Zeit, oh Wunder, nicht erreichbar ist.

Danke für die Hilfe.

TheDarkRose

Avatar von TheDarkRose

Anmeldungsdatum:
28. Juli 2010

Beiträge: 3459

Tja, einfach so mal die Berechtigungstabellen löschen, ai ai ai...

Probiers mal hiermit http://wiki.ubuntuusers.de/MySQL#Passwort-zuruecksetzen-neu-vergeben

Kamikaze321

(Themenstarter)

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 104

Danke für die Antwort,

debian-sys-maint funktioiert nicht, da dieser Benutzer bei mir nicht vorhanden ist. ich verstehe nicht wieso ich als root, keinen Benutzer mit rootrechten erstellen kann, der auf alles Zugriff hat? Hat noch jemand eine Idee?

Gruß

TheDarkRose

Avatar von TheDarkRose

Anmeldungsdatum:
28. Juli 2010

Beiträge: 3459

Der Benutzer root im Linuxsystem hat nichts mit dem root Benutzer unter MySQL zu tun.

Radikale Methode. Sicherung aller Datenbanken, mysql mittel apt-get purge entfernen, neu installieren und backups einspielen.

Kamikaze321

(Themenstarter)

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 104

Ja, diese radikale Lösung wollte ich aber eigentlich vermeiden und ich weiß, dass der Linuxroot nichts mit dem MySQL-Root zu tun hat. Wieso kann ich aber keinen MySQL-Rootbenutzer erstellen/wiederherstellen etc? Soll das ein Sicherheitskonzept sein? Wenn jemand Rootrechte von meinem Server erlangt, der hat den Server komplett unter Kontrolle, er kann die MySQL Datenbanken nach belieben austauschen, MySQL kann das nicht verhindern, wieso darf ich dann keine MySQL-Rootbenutzer erstellen? Das ist genauso als wenn ich als Benutzer XY mit Openoffice eine Datei erstelle, dann den Benutzer lösche, und dadurch nicht mehr mit OpenOffice die Datei die ich erstellt habe beschreiben kann - bis ich wieder den Benutzer wiederhergestellt habe. Das kann ich unter Linux als Root immer lösen, anscheinend aber nicht mit MySQL.

Kamikaze321

(Themenstarter)

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 104

Ok, das hat sich erledigt, habe MySQL deinstalliert und alles neu installiert. DANKE

fauxxami

Anmeldungsdatum:
7. Januar 2012

Beiträge: 493

Kamikaze321 schrieb:

Ja, diese radikale Lösung wollte ich aber eigentlich vermeiden und ich weiß, dass der Linuxroot nichts mit dem MySQL-Root zu tun hat. Wieso kann ich aber keinen MySQL-Rootbenutzer erstellen/wiederherstellen etc? Soll das ein Sicherheitskonzept sein? Wenn jemand Rootrechte von meinem Server erlangt, der hat den Server komplett unter Kontrolle, er kann die MySQL Datenbanken nach belieben austauschen, MySQL kann das nicht verhindern, wieso darf ich dann keine MySQL-Rootbenutzer erstellen? Das ist genauso als wenn ich als Benutzer XY mit Openoffice eine Datei erstelle, dann den Benutzer lösche, und dadurch nicht mehr mit OpenOffice die Datei die ich erstellt habe beschreiben kann - bis ich wieder den Benutzer wiederhergestellt habe. Das kann ich unter Linux als Root immer lösen, anscheinend aber nicht mit MySQL.

Von dem, was du hier schreibst, stimmt so gut wie nichts. Selbst wenn jemand es schafft, sich auf deinem Rechner root-Rechte zu verschaffen, kann er damit nicht automatisch auch als Datenbankadministrator auftreten - was ja auch sinnvoll ist. Natürlich kann er dann an deine Datenbanken, aber lediglich auf Dateiebene. Leider vergleichst du Äpfel mit Birnen.

Kamikaze321

(Themenstarter)

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 104

Du musst richtig lesen, ich habe nie gesagt dass ich mit Rootrechten als Datenbankadmin auftreten kann. Ich habe gesagt dass es keinen Sinn macht, dass man mit System-Rootrechten kein Datenbank-root Zugang erlangen kann. Ach nee warte mal, die habe ich doch erlangt, durch löschen von mysql, durch zurückspielen der Dastenbanken, und durch erstellen eines neuen MySQL Root Zugangs. Und womit habe ich das alles deiner Meinung nach gemacht? Mit Root Rechten des Systems. Wieso verhindert MySQL dass ich root werden kann, das kann ohnehin nicht verhindert werden. Eigentlich braucht man nichtmal Systemroot-Rechte, es genügt wenn man wleche auf einer Live-CD hat, sofern der Rechner nicht verschlüsselt ist, und man physischen Zugang hat.

Ich sage nicht dass es unnütz ist ein eigenes Rechteverwaltungsystem für MySQL zu haben, allerdings muss es so sein dass man mit Rootrechten des Systems beliebig viele MySQL-Roots erstellen kann welche unbeschränkten Zugriff haben, denn verhindern kann das eine Datenbank nicht.

TheDarkRose

Avatar von TheDarkRose

Anmeldungsdatum:
28. Juli 2010

Beiträge: 3459

MySQL huckt die Systemrechteverwaltung nicht im geringsten, MySQL halt. Willst du was richtiges haben, verwende PostgreSQL

Antworten |