文章内容
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
黄兵个人博客原创。
评论列表