Wie stelle ich die MySQL-Berechtigungen des Root-Benutzer?
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?
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?