数据库里有几个存储过程,之前是用root用户创建的,后来换了个权限较低的用户yewu,问题就出现了,存储过程就没法调用了。我用show grants for命令查看权限,结果是下面的两行字符串,我想ALL PRIVILEGES应该表示赋予全部权限了吧,但是存储过程一直没法调用,求大虾指教。
GRANT USAGE ON *.* TO 'yewu'@'localhost' IDENTIFIED BY PASSWORD '*ADAA350E7347401F98D2D8B05FFEFD6432E3F5CA'
GRANT ALL PRIVILEGES ON `trustandangage`.* TO 'yewu'@'localhost' WITH GRANT OPTIONmysql存储过程权限数据库
GRANT USAGE ON *.* TO 'yewu'@'localhost' IDENTIFIED BY PASSWORD '*ADAA350E7347401F98D2D8B05FFEFD6432E3F5CA'
GRANT ALL PRIVILEGES ON `trustandangage`.* TO 'yewu'@'localhost' WITH GRANT OPTIONmysql存储过程权限数据库
看看能否调用SP
我用navicat软件,远程连接mysql,用的也是yewu账号,但是用它创建的存储过程,程序使用yewu@'localhost'也调用不了,怎么回事呢?
检查此用户是否有CREATE ROUTINE 权限
Grants for yewu@localhost
GRANT USAGE ON *.* TO 'yewu'@'localhost' IDENTIFIED BY PASSWORD ''
GRANT ALL PRIVILEGES ON `数据库名`.* TO 'yewu'@'localhost' WITH GRANT OPTION
这是执行show grants后得出的结果。
grant all privileges on *.* to yewu@'%' identified by "Passwd"
授权
再用yewu登录试试