本帖最后由 kimsung 于 2011-10-17 19:22:03 编辑

解决方案 »

  1.   

    你的mysql库的user表应该有至少两个用户,对于用户会优先匹配具体的ip  如果没有才匹配%
      

  2.   

    但是php和mysql都在同一台服务器运行.
    而且我用客户端连接的时候,
    用过2个ip地址. 就是127.0.0.1和外网的IP(192.168.x.x)形式.都可以连接上.
      

  3.   

    还是检查一下php里的配置吧,或者php里调用的时候你打印一下密码看看是不是对的。
    另外查看 mysql.user 表里的用户配置。
      

  4.   

    Access denied for user 'username'@'%' (using password: YES)' in /h账号不对吧。
      

  5.   

    select * from user 看看结果
      

  6.   

    PHP拼好连接字符串去连接之前,打印出来,看你到底用的什么用户名和密码。
      

  7.   


    账号不是username, 这个我替换掉了.
    我现在发现新的情况.
    如果执行SELECT       au.user_id
    INTO OUTFILE \"$txt_filename\" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'
    FROM         app_user au
    WHERE        au.action_points > 0;
    这样的SQL, 会报上面的那种错误. 
    如果我把INTO OUTFILE去掉的话, 就不报错了. 这是为什么呢?
    这里$txt_filename的值是/tmp/text_${现在时间}的形式.
      

  8.   

    补充下, 我是用root执行的php脚本..
      

  9.   

    INTO OUTFILE 
    需要有服务器上的创建文件的创建文件的权限。一般来说,租来的空间上,不给这个权限的。
      

  10.   


    服务器是公司内的, 但是这个权限要给谁, 给执行php的用户吗? 还是mysql的用户呢?
      

  11.   


    谢谢, 已经解决了.
    我把OUTPUT的路径改成MYSQL下面了, 也就是MYSQL的文件夹的owner是运行MYSQL的账号.
    结果没有这个问题了.
    再次感谢!
    结贴!