在godaddy布署数据库Mysql,以下IP均为示例IP
域名IP:192.168.0.1
网站IP:192.168.0.2
数据库服务器:databasename.db.4568016.hostedresource.com(192.168.0.3 via TCP/IP)
用户:[email protected]
存储过程的definer使用的是 databasename@%连接时,报错 SELECT command denied to user 'databasename'@'192.168.0.1'for table 'proc' 
如何解决

解决方案 »

  1.   

    网站IP是需要部署的网站的IP
    网站是使用asp.net  开发的,连接串是godaddy提供的
    在网址输入http://192.168.0.2就报这个错误 
      

  2.   

    域名IP:192.168.0.1这个应该是Server IP address
      

  3.   

    databasename'@'192.168.0.1
    不是用户 databasename@%当mysql 能够在用户表中找到 username@hostname 的精确匹配项时,MYSQL就会优先用这个精确匹配的账号,如果找不到则会用 databasename@%所有现在给你的 'databasename'@'192.168.0.1' 授一下权限即可。或者在用户账号中删除 'databasename'@'192.168.0.1'
      

  4.   

    DEFINER = 'altocraft1'@'%'  有权限访问表 'proc' 吗
    ------------------
    本地调试是有权限的
    但是到godaddy上,存储过程访问的这个表应该有权限,但是网站调用存储过程没有权限,因为用的用户是(databasename@另一个IP),是godaddy自动生成的
      

  5.   

     'altocraft1'@'%'  
    在你的数据库中有这个账号吗?你现在有哪些权限?
    godaady 我不知道是什么, 你是否有root的账,或者说,你现在有哪些账号?是如何操作你的数据库的?
      

  6.   

    godaddy是虚拟主机托管商,创建数据库是让我输个数据库名,然后自动生成了个同名的用户名,而且这个用户名后面还有个@IPAddress,网站访问数据库时使用的是用户名@IPAddress2,这样就出现问题了,没办法对用户名@IPAddress2进行授权,访问网站就出错
      

  7.   

    本地调试是用root的,生成脚本后,全部改为了godaddy生成的用户名,然后导入执行的,这都全部成功了