首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL CSV导入权限被拒绝

问MySQL CSV导入权限被拒绝
EN

Stack Overflow用户
提问于 2016-05-25 11:44:25
回答 2查看 6.2K关注 0票数 2

类似的问题已经讨论了很多次,但我没有找到解决办法,在我的情况下。

Mysql版本:

代码语言:javascript
复制
$ mysql --version
mysql  Ver 14.14 Distrib 5.6.30, for debian-linux-gnu (x86_64) using  EditLine wrapper

在Ubuntu 15.10 64位桌面上。

下面是我试图运行的命令:

代码语言:javascript
复制
$ mysql -u dmeziere -p -e "LOAD DATA INFILE '/tmp/FR.csv' INTO TABLE project_dev.cities CHARACTER SET 'UTF8' FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\n' IGNORE 0 ROWS (country_code, country_name, postal_code, place_name, admin_name1, admin_code1, admin_name2, admin_code2, admin_name3, admin_code3, latitude, longitude, accuracy);"
Enter password: 
ERROR 29 (HY000) at line 1: File '/tmp/FR.csv' not found (Errcode: 13 - Permission denied)

如您所见,客户端和服务器位于同一台主机上。

此命令是我通常在同一模式上、在另一台服务器上运行的命令的副本/粘贴(Debian8.0上的MySQL 5.5.43 )。

尝试“加载数据本地INFILE”被拒绝。加上--当地的--婴儿不起作用。

以下是我的补助金:

代码语言:javascript
复制
mysql> show grants;
+--------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for dmeziere@localhost                                                                                                              |
+--------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'dmeziere'@'localhost' IDENTIFIED BY PASSWORD '***' WITH GRANT OPTION |
+--------------------------------------------------------------------------------------------------------------------------------------------+
1 rows in set (0,00 sec)

所以我应该有文件特权。无论如何,我也尝试使用mysql根默认帐户。

下面是文件perms:

代码语言:javascript
复制
$ ll /tmp/FR.csv 
-rwxrwxrwx 1 dmeziere dmeziere 6,2M mai   25 13:08 /tmp/FR.csv

所以这个文件是存在的并且是可以访问的。正如您想象的那样,我试图将文件从更深的路径移动到限制错误,并在寻找线索的同时给予它完全的权限。/tmp上的根茎是根。我也尝试过sudo mysql。

两种系统都不使用SE。

最后,我将SELECTed *放在表上,以确保它仍然是空的,以消除错误的负错误。

一个主意?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-06 08:09:49

最后,这不是文件系统问题。是MySQL拒绝读取CSV文件,不管权限如何。将CSV文件放入MySQL数据目录(通常是/var/lib/mysql)完成了他的工作。这一安全特性似乎并不存在于MySQL和OSes的每一种口味中。

当然,您不应该忘记在导入后删除该文件。

我觉得这种行为有点奇怪。我真的不明白为什么导入CSV文件比导入DQL文件更困难。

票数 4
EN

Stack Overflow用户

发布于 2019-05-10 14:31:02

试试这个:

代码语言:javascript
复制
service apparmor stop
service apparmor teardown

我遇到了同样的问题,并通过以下命令修复了它。

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

https://stackoverflow.com/questions/37436145

复制
相关文章

相似问题

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