mysql - 向用户授予/允许数据库下的所有 MySQL 用户定义函数

标签 mysql permissions stored-functions

如何向特定用户授予数据库下所有用户定义函数的执行权限?新用户可以执行/运行其他用户定义的所有功能。

1. GRANT ALL ON DATABASE.* TO 'USERNAME'@'HOSTNAME';
2. GRANT EXECUTE ON DATABASE.* TO 'USERNAME'@'HOSTNAME';

这两次尝试均未能允许新用户。以下调用以错误结束。

SELECT f_custom_function();

对应的错误信息:

Query : ____
Error Code : 1370
execute command denied to user 'USERNAME'@'HOSTNAME' for routine 'DATABASE.f_custom_function'

最佳答案

以下内容将向一个用户授予对一个数据库中所有对象的执行权限:

GRANT EXECUTE
  ON *.*
  TO 'myuser'@'localhost';

此替代方案允许访问单个 MySQL user defined function对于单个用户:

GRANT EXECUTE
  ON FUNCTION `mydatabase`.`myuserdefunc`
  TO 'myuser'@'localhost';

注意:mydatabasemyusermyuserdefunc;仅作为示例,并将替换为适合您项目的值。

关于mysql - 向用户授予/允许数据库下的所有 MySQL 用户定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23887794/

相关文章:

linux - Android Studio 无法更新

MySQL存储函数-追加字符串

mysql - 如何理解导致 MySQL Function 中 Truncated incorrect double value 错误的原因?

mysql - 将数字与字母数字进行比较

php - 带有 PDO 样式连接的 php 购物车页面中 undefined index

android - 是否已知这些 SDK 中有任何违反 Google Play 政策的?

c# - Npgsql 按名称将参数传递给存储函数

mysql - 在mysql中查找参加每门类(class)的学生的id

java - MySql 连接器/J 中的 autoReconnect 和 autoReconnectForPools 有什么区别?

php - 递归设置所有文件和文件夹的权限