[MYSQL]关于执行SELECT * INTO OUTFILE FROM TBL时报ERROR 1045 (28000): Access denied for user 'usr'@'%' 的问题。

好久没有来写博客了.

这几天活公司太多了. 再加上要准备考OCP了. 每天睡5小时的觉. 严重睡眠不足. 


如题.

前几天, 在远程服务器(WAS)通过mysql的客户端连接到数据库,

刚开始连接都是正常. 但是只要执行

SELECT * 
  INTO OUTFILE "/home/myusr/tmp/output.txt" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' FROM TBL1

类似的语句时mysql总是报密码错误.

ERROR 1045 (28000): Access denied for user 'usr'@'%' 

于是我尝试着执行下面的语句.

SELECT * FROM TBL;

执行一切正常。


刚开始以为真的是密码错误, 试着改动密码. 还是不行.

最终发现原来这个用户没有FILE的权限.


解决方法:

赶紧给这个用户加FILE的权限.

这下又有别的问题. 这次是mysql用户(linux用户)没有写文件权限. chmod 777outfile的文件. 

一切执行正常.


为了解决这个问题, 花费不少时间, 其中谢谢CSDN论坛上的ACMAIN_CHM(每次出问题, 就想起这位朋友.... 就像api一样..)


MYSQL是不是应该提示没有FILE的权限, 或者其他提示..

这种提示很让人很混淆.

你可能感兴趣的:(DataBase)