sql >> Databasteknik >  >> RDS >> Mysql

Hur man beviljar exekvering på specifik lagrad procedur till användaren

Ja... detta fungerar som förväntat om du inte ger användaren SELECT privilegium på mysql.proc tabell, antingen direkt eller indirekt, t.ex. med GRANT SELECT ON *.* TO ...

Utan SELECT behörighet på denna tabell kan en användare endast se existensen av lagrade procedurer och lagrade funktioner där de har andra behörigheter, som EXECUTE .

Under huven, avsaknaden av SELECTmysql.proc hindrar också användaren från att se de procedurer de inte har tillgång till via information_schema.routines pseudotabell.

Du borde inte behöva GRANT SELECT ON mysql.proc för att göra det möjligt för användaren att utföra procedurer eller funktioner... och om du gör det, att verkar vara frågan.



  1. Remote Symfony2 + Netbeans arbetsflöde (feat. git)

  2. Single SQL SELECT Returnerar flera rader från en tabellrad

  3. Oracle:funktionsbaserad indexselektiv unikhet

  4. Hur infogar man i mysql-tabellen med ajax?