phpMyAdmin
 sql >> Datenbank >  >> Database Tools >> phpMyAdmin

Entfernen Sie Berechtigungen aus der MySQL-Datenbank

Das USAGE-Privileg in mysql bedeutet einfach, dass es keine Privilegien für den Benutzer 'phpadmin'@'localhost' gibt, die auf globaler Ebene definiert sind *.* . Zusätzlich hat derselbe Benutzer ALL-Privileg auf die Datenbank phpmyadmin phpadmin.* .

Wenn Sie also alle Privilegien entfernen und ganz von vorne anfangen möchten, gehen Sie wie folgt vor:

  • Entziehen Sie alle Berechtigungen auf Datenbankebene:

    REVOKE ALL PRIVILEGES ON phpmyadmin.* FROM 'phpmyadmin'@'localhost';

  • Löschen Sie den Benutzer 'phpmyadmin'@'localhost'

    DROP USER 'phpmyadmin'@'localhost';

Das obige Verfahren entfernt den Benutzer vollständig aus Ihrer Instanz, das heißt, Sie können ihn von Grund auf neu erstellen.

Um Ihnen einen kleinen Hintergrund zu dem oben Beschriebenen zu geben:Sobald Sie einen Benutzer erstellen, wird mysql.user verwendet Tabelle wird gefüllt. Wenn Sie sich einen Datensatz darin ansehen, sehen Sie den Benutzer und alle Berechtigungen, die auf 'N' gesetzt sind . Wenn Sie show grants for 'phpmyadmin'@'localhost'; ausführen Sie werden die bereits bekannte Ausgabe oben sehen. Einfach übersetzt mit "keine Privilegien auf globaler Ebene für den Benutzer". Jetzt gewähren Sie ALL zu diesem Benutzer auf Datenbankebene, wird dies in der Tabelle mysql.db gespeichert . Wenn Sie ein SELECT * FROM mysql.db WHERE db = 'nameofdb'; ausführen Sie werden ein 'Y' sehen auf jedem priv.

Oben beschrieben zeigt das Szenario, das Sie derzeit auf Ihrer DB haben. Also einen Benutzer zu haben, der nur USAGE hat Privileg bedeutet, dass dieser Benutzer sich verbinden kann, aber neben SHOW GLOBAL VARIABLES; SHOW GLOBAL STATUS; er hat keine anderen Privilegien.