首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MYSQL到输出文件“访问被拒绝”-但我的用户拥有“所有”访问权限..文件夹是CHMOD 777

MYSQL到输出文件“访问被拒绝”-但我的用户拥有“所有”访问权限..文件夹是CHMOD 777
EN

Stack Overflow用户
提问于 2011-05-23 07:07:51
回答 4查看 173.4K关注 0票数 82

有什么想法吗?

代码语言:javascript
复制
SELECT * INTO OUTFILE '/home/myacnt/docs/mysqlCSVtest.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '*'
LINES TERMINATED BY '\n'
FROM tbl_property 
WHERE managerGroupID = {$managerGroupID}

错误:

代码语言:javascript
复制
Access denied for user 'asdfsdf'@'localhost' (using password: YES)
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-23 07:12:14

尝试执行此SQL命令:

代码语言:javascript
复制
> grant all privileges 
  on YOUR_DATABASE.* 
  to 'asdfsdf'@'localhost' 
  identified by 'your_password';
> flush privileges; 

似乎您在连接到数据库时遇到了问题,并且没有写入到您提到的文件夹。

此外,请确保您已将FILE授予用户'asdfsdf'@'localhost'

代码语言:javascript
复制
> GRANT FILE ON *.* TO 'asdfsdf'@'localhost';
票数 126
EN

Stack Overflow用户

发布于 2013-06-08 02:14:25

老实说,我没有费心去处理这些拨款,即使没有特权,这也能正常工作:

代码语言:javascript
复制
echo "select * from employee" | mysql --host=HOST --port=PORT --user=UserName --password=Password DATABASE.SCHEMA > output.txt
票数 61
EN

Stack Overflow用户

发布于 2017-09-08 19:53:41

由于cP/WHM取消了在PHPMyAdmin中以超级用户身份修改用户权限的功能,因此您必须使用命令行执行以下操作:

代码语言:javascript
复制
mysql>  GRANT FILE ON *.* TO 'user'@'localhost';

第2步是允许用户转储特定文件夹中文件。有几种方法可以做到这一点,但我最终在其中放置了一个文件夹:

代码语言:javascript
复制
/home/user/tmp/db

代码语言:javascript
复制
chown mysql:mysql /home/user/tmp/db

这允许mysql用户写入文件。正如之前的帖子所说,你也可以使用MySQL临时文件夹,我不认为这真的很重要,但除非你想让世界看到你的数据,否则你肯定不想让它拥有0777权限(全局可写)。如果你想要清洗,那就有一个潜在的问题--重复这个过程,因为如果文件存在,INTO OUTFILE就不会工作。如果你的文件属于不同的用户,那么仅仅尝试unlink($file)是行不通的。如果你像我一样(大约是0777),那么你可以用以下命令设置你的目标目录:

代码语言:javascript
复制
chmod($dir,0777)

在执行SQL命令之前,然后

代码语言:javascript
复制
chmod($dir,0755)

紧接着,按unlink(file)删除文件。这使它在您的web用户下运行,而不需要调用mysql用户。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6091427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档