Mysql
允許多個使用者查看程序和功能
我有
GRANT ALL PRIVILEGES ON
test1.* TO 'admin'@'%'
,GRANT ALL PRIVILEGES ON
test1.* TO 'devel'@'%'
(fromSHOW GRANTS FOR some_user
) 並且我已經創建了簡單的程序,如admin
.test1
這是我所看到的:
作為
admin
mysql> 選擇 current_user(); +----------------+ | 目前使用者() | +----------------+ | 管理員@% | +----------------+ 1 排成套(0,03 秒) mysql> SELECT ROUTINE_DEFINITION FROM information_schema.ROUTINES WHERE SPECIFIC_NAME='test' AND ROUTINE_SCHEMA='test1'; +--------------------+ | ROUTINE_DEFINITION | +--------------------+ | 開始 結束 | +--------------------+ 1 行成組(0.04 秒) mysql> 呼叫測試(); 查詢正常,0 行受影響(0,03 秒)
作為
devel
:mysql> 選擇 current_user(); +----------------+ | 目前使用者() | +----------------+ | 開發@% | +----------------+ 1 排成套(0,03 秒) mysql> SELECT ROUTINE_DEFINITION FROM information_schema.ROUTINES WHERE SPECIFIC_NAME='test' AND ROUTINE_SCHEMA='test1'; +--------------------+ | ROUTINE_DEFINITION | +--------------------+ | 空 | +--------------------+ 1 排成套(0,03 秒) mysql> 呼叫測試(); 查詢正常,0 行受影響(0,03 秒)
如何允許多個使用者查看過程或函式的程式碼?
嘗試授予
EXECUTE
使用者權限devel
。GRANT EXECUTE ON PROCEDURE test1.yourprocedure TO 'devel'@'%'