Benutzerrechte gelöscht

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Benutzerrechte gelöscht

    Guten Tag allerseits,
    ich habe leider (etwas übernächtigt..) mal eben die Benutzerrechte meiner lokalen
    Datenbank via phpMyAdmin gelöscht - genauer gesagt besteht der Zugriff noch auf eine
    Datenbank - doch die eingestellten Rechte dafür lassen keine Möglichkeit zu eine neue
    Datenbank anzulegen o.ä..

    Ich vermute mal ich muß den Weg über das Terminal gehen (OSX 10.3.9).
    Wer kann mir sagen was ich machen muß?

    Vielen Dank im voraus
    Pinback
  • RE: Benutzerrechte gelöscht

    Original von Pinback
    Guten Tag allerseits,
    ich habe leider (etwas übernächtigt..) mal eben die Benutzerrechte meiner lokalen
    Datenbank via phpMyAdmin gelöscht - genauer gesagt besteht der Zugriff noch auf eine
    Datenbank - doch die eingestellten Rechte dafür lassen keine Möglichkeit zu eine neue
    Datenbank anzulegen o.ä..

    Ich vermute mal ich muß den Weg über das Terminal gehen (OSX 10.3.9).
    Wer kann mir sagen was ich machen muß?

    Vielen Dank im voraus
    Pinback



    mal probiert als mysql-root ueber phpmyadmin einzuloggen ? sollte ja noch ohne probs gehen.
    malloc: *** vm_allocate(size=1665622016) failed (error code=3)
  • Hi francke,
    der root Benutzer wurde benfalls gelöscht. Ich habe nur noch Zugriff auf
    diesen einen Benutzer der leider keine Rechte hat weitere Rechte zu vergeben
    oder neue Benutzer anzulegen.
    (d.h. die Menüoption "Rechte" erscheint nicht mehr)

    Gruß
    Pinback
  • Hi!

    Na dann ab in die Konsole :) Ein Backup existiert wahrscheinlich nicht, oder?

    MySQL hält die Benutzerrechte in einer eigenen Datenbank: mysql.
    Diese Datenbank liegt wie alle anderen Datenbanken einer MySQL Instanz im Verzeichnis $MYSQL_HOME/data/, dort im Verzeichnis mysql.

    Du kannst jetzt aus einer anderen MySQL Installation (am Besten ein frischer Download von mysql.com) die Dateien vom Ordner $MYSQL_HOME/data/mysql in dein altes System kopieren. Vorher natürlich die Datenbank runterfahren. Nach dem kopieren musst du noch die Dateirechte entsprechend setzen. Du hast dann, wenn du die Datenbank wieder hochfährst, die Benutzerrechte einer Standardinstallation, also Login "root" von localhost ohne Kennwort.

    Gruss,
    Christian
  • Ich habe ja keine Ahnung von dieser Thematik und lausche interessiert. Aber habe ich das wirklich richtig verstanden:
    a) Es war möglich Accounts so zu löschen, dass kein Account mehr mit der Berechtigugn existiert, Accounts anzulegen?
    b) Man kann Rechte infizieren, indem man eine Rechtedatenbank herüberkopiert?

    Also, ehrlich gesagt, führen bejahendenfalls beide Ausagen für mich zu deutlicher Verwunderung. Habe ich das richtig verstanden?
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • zu 1) ja, ein "delete from user" auf die Benutzer DB "mysql" als root und schwupps, alles ist weg...

    zu 2) ja, auch das ist möglich. deshalb sollte die Datenbank auch immer unter einem speziellen Benutzer laufen (mysql:mysql) und die Dateirechte entsprechend angepaßt sein.

    weiterhin sollte man für jede neue datenbank auch eine neuen benutzer anlegen und nicht alles als "root" erledigen. das sollte aber auch klar sein. ansonsten kann so ein malheur wie hier beschrieben schnell mal passieren.
  • Hallo Christian,
    habe mySQL neu aufgespielt und kann jetzt wieder weitermachen.
    Den Tipp mit den Benutzerrechten werde ich ab jetzt befolgen!
    Also, nochmals danke für deine Hilfe.

    Bliebe trotzdem noch die Frage ob es dafür nicht noch eine andere Lösung
    - z.B. über das Terminal gibt!?
    Habe es nicht ausprobiert - aber könnte es so gehen?:

    sudo find /usr/local/mysql/data -type f -exec rm {} ';'
    sudo hostname 127.0.0.1
    cd /usr/local/mysql
    sudo ./scripts/mysql_install_db
    sudo chown -R mysql data/


    Die Daten wären dann zwar auch futsch aber man würde sich die
    Installation sparen..!?

    Einen schönen abend noch allerseits
    Pinback
  • Natürlich geht das auch so, stimmt. Du kannst dann vorher deine Datenbanken sichern, dann das Skript ausführen und danach die gesicherten Datenbanken wieder zurück spielen. Damit wäre dir in diesem Fall auch geholfen.

    Solange du MyISAM als Tabellentyp benutzt ist es für Notfall ausreichend, den Ordner mitsamt den Tabellen, die MySQL für eine Datenbank anlegt, zu kopieren. Beim InnoDB Typ wird es schwieriger.

    Aber das ist bitte kein Backup Konzept - das würde ich über besser mit Hilfe von mysqldump erledigen.