Mysql

允許多個使用者查看程序和功能

  • July 17, 2015

我有GRANT ALL PRIVILEGES ON test1.* TO 'admin'@'%', GRANT ALL PRIVILEGES ON test1.* TO 'devel'@'%'(from SHOW 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'@'%'

引用自:https://dba.stackexchange.com/questions/107318