【问题标题】:Why is this MYSQL statement giving me an error?为什么这个 MYSQL 语句给我一个错误?
【发布时间】:2011-05-31 07:55:21
【问题描述】:
mysql> LOAD DATA INFILE '/home/myuser/myproject/power/ids-ads.txt' INTO TABLE ids_ads  FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';

ERROR 29 (HY000): File '/home/myuser/myproject/power/ids-ads.txt' not found (Errcode: 13)

文件在那里。我什至将路径粘贴到 mysql 控制台中。权限正确。

事实上,我什至在 root 用户和 root mysql 上测试过。

-rw-r--r--   1 myuser myuser  15893 2010-12-26 20:56 ids-ads.txt

【问题讨论】:

  • 文件是否在同一台机器上?不是坐骑之类的吗?
  • 只有一台机器。非常简单的设置
  • 项目名称中没有空格?

标签: mysql database linux unix permissions


【解决方案1】:

请注意,当您执行 LOAD DATA INFILE 时,MySQL 会在 服务器 上查找该文件,而不是在您的客户端计算机上。

如果您想使用 LOAD DATA INFILE 加载客户端计算机(而不是服务器计算机)上的文件,则必须使用 LOAD DATA LOCAL INFILE。

http://dev.mysql.com/doc/refman/5.1/en/load-data.html

【讨论】:

    【解决方案2】:

    来自 MySQL 手册:

    For security reasons, when reading text files located on the server, the files
    must either reside in the database directory or be readable by all. Also, to use
    LOAD DATA INFILE on server files, you must have the FILE privilege. For non-LOCAL
    load operations, if the secure_file_priv system variable is set to a nonempty
    directory name, the file to be loaded must be located in that directory. 
    

    http://dev.mysql.com/doc/refman/5.1/en/load-data.html

    【讨论】:

      【解决方案3】:

      嗯...可能是个愚蠢的问题,但是字符串 '/home.../ids-ads.txt' 中是否有任何不可见的字符?

      【讨论】:

      • 我不这么认为。看起来很普通的文字。
      【解决方案4】:

      正如 Marc B 所说,该文件需要位于数据库目录中或所有人都可以读取。不仅文件需要可读,MySQL 还需要读取到存储文本文件的目录的权限。 /home/myuser/myproject/power/ 及其容器到 /home/myuser 的权限是什么?如果在该链中的任何一点,权限被拒绝,那么 MySQL 将无法读取该文件。

      【讨论】:

        【解决方案5】:

        如果您使用的是 phpmyadmin,请务必启用 Use LOCAL keyword。这对我有用。

        【讨论】:

          【解决方案6】:

          如果数据在您的本地机器上,请使用下面的代码,它工作正常。

          LOAD DATA LOCAL INFILE "/home/cloudera/Data/ChurnDataFinal.csv"
          INTO TABLE Customer_Churn
          COLUMNS TERMINATED BY ','
          LINES TERMINATED BY '\n'
          IGNORE 1 LINES;
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-12-11
            • 2017-01-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-11-14
            • 1970-01-01
            相关资源
            最近更新 更多