数据库里有几个存储过程,之前是用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存储过程权限数据库

解决方案 »

  1.   

    grant all privileges on *.* to yewu@'%' identified by "Passwd" 
    看看能否调用SP
      

  2.   

    yewu@'%'是怎么个意思?我调用的时候,服务器是localhost
      

  3.   

    给yewu用户授权,看看MYSQL的HELP
      

  4.   

    不好意思,我是第一次接触mysql,问的问题可能比较小白一点。
    我用navicat软件,远程连接mysql,用的也是yewu账号,但是用它创建的存储过程,程序使用yewu@'localhost'也调用不了,怎么回事呢?
      

  5.   

    提示什么?如果此用户能创建SP,也能够CALL 此SP,
    检查此用户是否有CREATE ROUTINE 权限
      

  6.   

    SHOW GRANTS FOR 'yewu'@'localhost';
      

  7.   

    看看你登陆的用户是什么  select  user();看看
      

  8.   

    show grants;贴出分析一下目前登录用户的权限。
      

  9.   


    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后得出的结果。
      

  10.   


    grant all privileges on *.* to yewu@'%' identified by "Passwd" 
    授权
    再用yewu登录试试