Có ... điều này hoạt động như mong đợi nếu bạn không cấp cho người dùng SELECT
đặc quyền trên mysql.proc
bảng, trực tiếp hoặc gián tiếp, chẳng hạn như với GRANT SELECT ON *.* TO ...
Không có SELECT
quyền trên bảng này, người dùng chỉ có thể thấy sự tồn tại của các thủ tục được lưu trữ và các hàm được lưu trữ khi họ có các quyền khác, như EXECUTE
.
Về cơ bản, thiếu SELECT
trên mysql.proc
cũng ngăn người dùng xem các thủ tục mà họ không có quyền truy cập thông qua information_schema.routines
bảng giả.
Bạn không cần phải GRANT SELECT ON mysql.proc
để cho phép người dùng thực thi các thủ tục hoặc chức năng ... và nếu bạn làm vậy, thì that có vẻ giống như câu hỏi.