Access denied for user 'username'@'%' (using password: YES)' in /h账号不对吧。
select * from user 看看结果
PHP拼好连接字符串去连接之前,打印出来,看你到底用的什么用户名和密码。
账号不是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_${现在时间}的形式.
补充下, 我是用root执行的php脚本..
INTO OUTFILE 需要有服务器上的创建文件的创建文件的权限。一般来说,租来的空间上,不给这个权限的。
而且我用客户端连接的时候,
用过2个ip地址. 就是127.0.0.1和外网的IP(192.168.x.x)形式.都可以连接上.
另外查看 mysql.user 表里的用户配置。
账号不是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_${现在时间}的形式.
需要有服务器上的创建文件的创建文件的权限。一般来说,租来的空间上,不给这个权限的。
服务器是公司内的, 但是这个权限要给谁, 给执行php的用户吗? 还是mysql的用户呢?
谢谢, 已经解决了.
我把OUTPUT的路径改成MYSQL下面了, 也就是MYSQL的文件夹的owner是运行MYSQL的账号.
结果没有这个问题了.
再次感谢!
结贴!