Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何允许任何用户在共享宿主mysql中运行存储过程_Mysql_Stored Procedures_Shared Hosting - Fatal编程技术网

如何允许任何用户在共享宿主mysql中运行存储过程

如何允许任何用户在共享宿主mysql中运行存储过程,mysql,stored-procedures,shared-hosting,Mysql,Stored Procedures,Shared Hosting,在共享托管服务器上托管的MySQL数据库中创建存储过程时,会自动添加过程的定义者: 创建定义者=teq_user1@我的IP地址程序dpr_tax(在… 这限制了仅从此IP调用此过程。 我们需要允许某些用户调用此过程,而不考虑IP 我试过: 将teq_acc.dpr_tax程序的执行授予'teq_user1'@'; 和 将teq_acc.dpr_tax程序的执行授予'teq_user1'@'localhost' 但收到以下错误: 拒绝向用户“teq_user1”@“我的IP地址”授予命令我找到了

在共享托管服务器上托管的MySQL数据库中创建存储过程时,会自动添加过程的定义者:

创建定义者=
teq_user1
@
我的IP地址
程序
dpr_tax
(在…

这限制了仅从此IP调用此过程。 我们需要允许某些用户调用此过程,而不考虑IP

我试过:
将teq_acc.dpr_tax程序的执行授予'teq_user1'@';

将teq_acc.dpr_tax程序的执行授予'teq_user1'@'localhost'

但收到以下错误:
拒绝向用户“teq_user1”@“我的IP地址”授予命令

我找到了一个修复程序:
“定义者=teq_user1@MyIP地址“
从通过“远程SQL”连接的客户端应用程序(如MySQL Workbench)创建存储过程时添加。但如果从PHPmyAdmin重新创建过程,定义者将是:
“定义者=teq_user1@localhost“
它可以从任何IP运行。

我想你正在寻找
DEFINER=CURRENT_USER
取而代之的是…然后你可以或多或少地将EXECUTE priv授予MySQL用户,该用户可以使用它。但不是100%确定,因为我不确定你是如何使用它的。@RaymondNijland,感谢你的支持,问题不在于用户,而在于用户IP。它是专用于用户的,但应该来自特定的IP,我无法授予
用户
@
%
特权,因为我在共享环境中。打开MySQL或允许从internet上的任何IP连接,这是一个坏主意,不管怎样。您需要某种网关(基于套接字或Web服务)它位于您的应用程序和MySQL服务器之间。@RaymondNijland。。这可以通过SSH或其他方式完成吗?