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

Hvordan man giver brugeren eksekvering på en specifik lagret procedure

Ja... dette fungerer som forventet, hvis du ikke giver brugeren SELECT privilegium på mysql.proc tabel, enten direkte eller indirekte, såsom med GRANT SELECT ON *.* TO ...

Uden SELECT tilladelse på denne tabel, kan en bruger kun se eksistensen af ​​lagrede procedurer og lagrede funktioner, hvor de har andre tilladelser, såsom EXECUTE .

Under hætten, manglen på SELECTmysql.proc forhindrer også brugeren i at se de procedurer, de ikke har adgang til via information_schema.routines pseudo-tabel.

Du burde ikke behøve at GRANT SELECT ON mysql.proc for at gøre det muligt for brugeren at udføre procedurer eller funktioner... og hvis du gør det, så det virker som spørgsmålet.



  1. Find duplikerede poster i en kolonne

  2. Sådan deaktiveres plugins fra WordPress-databasen

  3. Hvorfor giver denne PostgreSQL-transaktion ADVARSEL:der er ingen transaktion i gang

  4. (PHP):Advarsel:include_once, kunne ikke åbne stream:Tilladelse nægtet