mysql – SELECT INTO OUTFILE权限被拒绝但用户可以写入该目录
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql – SELECT INTO OUTFILE权限被拒绝但用户可以写入该目录,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2041字,纯文字阅读大概需要3分钟。
内容图文
我有一个问题,试图使用SELECT INTO OUTFILE并使用/ tmp以外的目录.
我的Linux用户名为datam,我的MySQL用户是lea,MySQL运行为mysql.
当datam运行mysql -u lea数据库并尝试使用/home/datam/xfers/online/file.csv路径执行SELECT INTO OUTFILE时,我收到错误代码13,权限被拒绝.使用/tmp/file.csv是有效的,所以我相信它不是MySQL中的权限问题.
我已经将mysql添加到datam组并通过以下方式验证了这一点:
~$sudo id mysql
uid=106(mysql) gid=114(mysql) groups=114(mysql),1001(datam)
我有/ home / datam /递归设置为775.
如果我做sudo -u mysql / bin / bash并转到/ home / datam / xfers / online /并执行触摸文件则会写入文件.
我需要做什么才能让mysql从SELECT INTO OUTFILE写一个文件?
我认为这不是围绕这个主题的其他问题的重复,因为我已经查看了它们并遵循了所有指令(在所有目录上设置执行,直到我想要的那个,设置GRANT FILE ON等).
MySQL用户lea授予:
+-----------------------------------------------------------------------------------------------------------+
| Grants for lea@localhost |
+-----------------------------------------------------------------------------------------------------------+
| GRANT FILE ON *.* TO 'lea'@'localhost' IDENTIFIED BY PASSWORD '*9BB439A3A652A9DAD3718215F77A7AA06108A267' |
| GRANT ALL PRIVILEGES ON `database`.* TO 'lea'@'localhost' |
+-----------------------------------------------------------------------------------------------------------+
解决方法:
这可能是由mysql用户权限引起的.
如此处所述https://dba.stackexchange.com/questions/17029/cannot-output-mysql-data-to-file
要为自己提供FILE权限,请执行以下操作:
> service mysql restart –skip-networking –skip-grant-tables
> mysql< hit enter>
> UPDATE mysql.user SET File_priv =’Y’WHERE user =’lea’AND host =’localhost’;
>退出
>服务mysql重启
linux用户可以写一个文件.但apparmor可能会阻止mysql服务.
检查此文件:/etc/apparmor.d/usr.sbin.mysqld.
在那里添加项目文件夹:
/usr/sbin/mysqld {
[...]
/home/datam/xfers/online/ r,
/home/datam/xfers/online/* rw
[...]
}
最后,做一个
sudo /etc/init.d/apparmor reload
内容总结
以上是互联网集市为您收集整理的mysql – SELECT INTO OUTFILE权限被拒绝但用户可以写入该目录全部内容,希望文章能够帮你解决mysql – SELECT INTO OUTFILE权限被拒绝但用户可以写入该目录所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。