Trovo che l' elenco dei privilegi forniti da MySQL sia un po 'travolgente. Non sono sicuro di chi dovrebbe avere quali privilegi. Nella mia mente ci sono tre utenti tipici per la mia situazione:
root
developer
application
root
si spiega da sé. Per developer
questo utente deve essere in grado di accedere facilmente a qualsiasi database, apportare modifiche ad esso, ecc. Per cominciare sto impostando questo utente su questo set di privilegi:
SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON
application
ha un set ancora più limitato. Dovrebbe limitarsi a manipolare un database specifico.
Non sono sicuro di quale ragionevole insieme di privilegi sia concesso. Quali sono una serie ragionevole di privilegi per concedere uno sviluppatore e un'applicazione e perché?