文章内容

2019/3/4 13:46:22,作 者: 黄兵

execute command denied to user

在使用MySQLdb保存数据的时候,出现了如下错误:

_mysql_exceptions.OperationalError: (1370, "execute command denied to user 'user'@'%' for routine 'database.pg_sleep'")


出现这个错误的原因:

是没有给表对应的用户赋予相应的权限,这个是没有赋予execute权限。


解决方案:

用户对应的表赋予相应的权限,具体SQL如下:

GRANT EXECUTE ON database.* TO 'user'@'%';
flush privileges;

问题解决。

如果需要删除相应的权限,执行下面命令:

REVOKE EXECUTE ON database.* FROM 'user'@'%';

还有一个问题我要啰嗦一下:在国内很多都是赋予全部权限,这带来了很大安全隐患。


危险的做法:

GRANT ALL PRIVILEGES ON *.* TO ‘用户名’@’%’ ;
FLUSH PRIVILEGES;


参考资料:

1、Mysql: execute command denied to user ''@'localhost' for routine error

2、慕课 - MySQL初学者

3、MySQL之权限管理

4、MySQL创建用户与授权


黄兵个人博客原创。

转载请注明出处: 黄兵个人博客 - execute command denied to user

分享到:

发表评论

评论列表