Frage

Ich entfernte versehentlich die meisten der Privilegien von meinem MySQL-Benutzer root, einschließlich der Fähigkeit, Privilegien zu gewähren. Gibt es irgendeine Weise, die ich den Benutzer in seinen ursprünglichen Zustand wiederherstellen?

War es hilfreich?

Lösung

Sie können nach wie vor in der Lage eine UPDATE auf dem Tisch user in Datenbank mysql zu tun:

USE mysql;
UPDATE user SET Grant_priv='1' WHERE User='root';
FLUSH PRIVILEGES;

Wenn Sie Schritt 3 nicht funktioniert, wird der MySQL-Server neu gestartet haben den gleichen Effekt. Wenn Schritt 2 nicht funktioniert, müssen Sie mysql.user aus einer Sicherung wiederherstellen. Wenn Sie nicht über eine Sicherung haben, eine Sicherungskopie erstellen, installieren Sie MySQL und dann selektiv Ihre Backup wiederherzustellen, Tabellen innerhalb der Datenbank mysql Weglassen.

UPDATE

Sie Zugang bekommen während des ersten Schritts verweigert. An diesem Punkt sind Sie bis auf die alternativen Lösungen mit Sicherungen. Es gibt keine Möglichkeit (die ich kenne oder leicht vorstellen kann), dass Sie diese Tabellen eine andere Möglichkeit sind erholt.

UPDATE 2

Die genaue Fehlermeldung im Grunde sagt, dass root grant Privilegien zusätzlich zu verlieren, haben Sie root Zugriff auf die mysql DB gesunken. Ohne Zugang zu dieser DB und ohne grant Privilegien haben, die einzige Art, wie ich wieder sehen kann, ist irgendwie eine neue Kopie der mysql DB zu erhalten.

Jede Chance, Sie haben eine Replikations-Slave einrichten?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top