如何允许任何用户 运行 共享主机 mysql 中的存储过程
How to allow any user to run stored procedure in shared hosting mysql
在 MySQL 托管在 共享主机 服务器上的数据库中创建存储过程时,自动添加该过程的定义器:
创建定义器=teq_user1
@My IP Address
过程dpr_tax
(IN...
这限制了仅从此 IP 调用此过程。
我们需要允许特定用户调用此程序,而不管 IP。
我试过:
授予执行过程 teq_acc.dpr_tax 到 'teq_user1'@'%';
和
授予执行过程 teq_acc.dpr_tax 到 'teq_user1'@'localhost';
但收到以下错误:
向用户 'teq_user1'@'My IP address'
授予命令被拒绝
我找到了一个修复:
"DEFINER=teq_user1@My IP Address"
从通过 "Remote SQL"(例如 MySQLWorkbench 连接的客户端应用程序创建存储过程时添加。但是,如果您从 PHPmyAdmin 重新创建过程,Definer 将是:
"DEFINER=teq_user1@localhost"
可以是来自任何 IP 的 运行。
在 MySQL 托管在 共享主机 服务器上的数据库中创建存储过程时,自动添加该过程的定义器:
创建定义器=teq_user1
@My IP Address
过程dpr_tax
(IN...
这限制了仅从此 IP 调用此过程。
我们需要允许特定用户调用此程序,而不管 IP。
我试过:
授予执行过程 teq_acc.dpr_tax 到 'teq_user1'@'%';
和
授予执行过程 teq_acc.dpr_tax 到 'teq_user1'@'localhost';
但收到以下错误:
向用户 'teq_user1'@'My IP address'
我找到了一个修复:
"DEFINER=teq_user1@My IP Address"
从通过 "Remote SQL"(例如 MySQLWorkbench 连接的客户端应用程序创建存储过程时添加。但是,如果您从 PHPmyAdmin 重新创建过程,Definer 将是:
"DEFINER=teq_user1@localhost"
可以是来自任何 IP 的 运行。