Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL gewährt der Datenbank alle Berechtigungen mit Ausnahme einer Tabelle

Ich weiß, dass dies ein alter Beitrag ist, aber ich dachte, ich würde die @tdammers-Frage ergänzen, damit andere sie sehen können. Sie können auch ein SELECT CONCAT auf information_schema.tables ausführen, um Ihre Grant-Befehle zu erstellen, und müssen kein separates Skript schreiben.

Widerrufen Sie zuerst alle Privilegien von dieser Datenbank:

REVOKE ALL PRIVILEGES ON db.* FROM [email protected];  

Erstellen Sie dann Ihre GRANT-Anweisungen:

SELECT CONCAT("GRANT UPDATE ON db.", table_name, " TO [email protected];")
FROM information_schema.TABLES
WHERE table_schema = "YourDB" AND table_name <> "table_to_skip";

Kopieren Sie die Ergebnisse, fügen Sie sie in Ihren MySQL-Client ein und führen Sie sie alle aus.