sql >> Databasteknik >  >> RDS >> Mysql

MySQL ger alla privilegier till databasen utom en tabell

Jag vet att detta är ett gammalt inlägg, men jag tänkte lägga till på @tdammers fråga för andra att se. Du kan också utföra en SELECT CONCAT på information_schema.tables för att skapa dina grant-kommandon och inte behöva skriva ett separat skript.

Återkalla först alla privilegier från den db:

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

Skapa sedan dina GRANT-uttalanden:

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";

Kopiera och klistra in resultaten i din MySQL-klient och kör dem alla.



  1. Tvinga Oracle att returnera de N-ÖVNA raderna med SKIP LÅST

  2. H2 postgresql-läge verkar inte fungera för mig

  3. hur man använder kontrollbegränsning i Oracle

  4. Hur skickar jag ett värde till en lagrad procedurparameter i OLE DB Source-komponent?