sql >> Database teknologi >  >> RDS >> Mysql

MySQL giver alle privilegier til databasen undtagen én tabel

Jeg ved, at dette er et gammelt indlæg, men jeg tænkte, at jeg ville tilføje til @tdammers spørgsmål, så andre kan se. Du kan også udføre en SELECT CONCAT på information_schema.tables for at oprette dine bevillingskommandoer, og du behøver ikke at skrive et separat script.

Tilbagekald først alle privilegier fra denne db:

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

Opret derefter dine GRANT-opgørelser:

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

Kopier og indsæt resultaterne i din MySQL-klient, og kør dem alle.



  1. Sådan konverteres decimal til hexadecimal ved hjælp af TO_CHAR() i Oracle

  2. Hvordan undslipper jeg % fra python mysql-forespørgsel

  3. indstilling af global sql_mode i mysql

  4. SQLite trigger