我们创建了如下程序:
CREATE DEFINER=
ftdinc
@%
PROCEDUREget_all_dates
(
in_product_id varchar(100), in_zip_code
varchar(100), in_max_delivery_date DateTime) .......etc.call pas.get_all_dates('FK35', '10001','2013-09-09 00:00:00'); ERROR 1142 (42000): SELECT command denied to user 'pas'@'%' for table 'pas.get_all_dates'
实际上我们没有用户权限。我们只有 ftdinc 用户。
为什么它是用 pas 用户而不是 ftdinc 用户执行的。我们不明白。
请帮助我
最佳答案
使用错误中的信息,您尝试使用没有权限的用户pas
来调用
该过程,因此最简单但不太安全的解决方案是:
GRANT ALL ON *.* TO 'pas'@'%';
FLUSH PRIVILEGES;
你有两个选择:
1) 授予用户pas
权限
2) 使用用户ftdinc
执行调用
关于mysql - mysql中程序的权限问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17484065/