Why is this MYSQL statement giving me an error?

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)

The file is there. I even pasted the path into the mysql console. The permissions are correct.

In fact, I even tested it on root user and root mysql.

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

Note that when you do LOAD DATA INFILE, MySQL is looking for that file on the server - not on your client machine.

If you want to use LOAD DATA INFILE to load a file that is on the client machine (and not the server machine), you must use LOAD DATA LOCAL INFILE.

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

mysql_error - Manual, mysql_error — Returns the text of the error message from previous MySQL $ result = mysql_query($query) or die("<b>A fatal MySQL error occured</b>. When a mysqli_query () function fails, MySQL returns an error message that contains information about the cause of the failure. However, this message isn’t displayed unless you specifically display it. Again, you may want to see these messages when you’re developing the script, but you may not want to display them to the public.

From the MySQL manual:

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

13.7.7.17 SHOW ERRORS Statement, MySQL 8.0 Frequently Asked Questions � Error Messages and Common Problems � Indexes � MySQL Glossary. Related Documentation. MySQL 8.0 Release� Looks like MySQL hasn't come around to fixing this (if this is a bug). As of Version 5.2.35 CE (Revision 7915) of Workbench, this problem remains. I bumped into the exact same issue, and found the answer here. – icarus74 Nov 3 '11 at 9:31

Hmmm...probably a stupid question, but are there any invisible characters in the string '/home.../ids-ads.txt'?

Section B.3.1, “Server Error Message Reference”, Please update any bookmarks that point to the old page. HOME NEXT. Related Documentation. The most common reason for the MySQL server has gone away error is that the server timed out and closed the connection. By default, the server closes the connection after 8 hours if nothing has happened. You can change the time limit by setting the wait_timeout variable when you start mysqld.

As Marc B said, the file needs to be in the database directory or readable by all. Not only does the file need to be readable, but MySQL needs permissions to read into the directory where the text file is stored. What are the permissions on /home/myuser/myproject/power/ and its containers up to /home/myuser? If, at any point in that chain, permission would be denied, then MySQL won't be able to read the file.

13.6.7.3 GET DIAGNOSTICS Statement, If neither keyword is given, the default is to use the current diagnostics area. mysql> DROP TABLE test.no_such_table; ERROR 1051 (42S02): Unknown table � One way to find which query statement is the cause of a slowdown is to enable and view MySQL’s slow query log. To do this, open your mysqld.cnf file, which is used to configure options for the MySQL server. This file is typically stored within the /etc/mysql/mysql.conf.d/ directory:

If you're using phpmyadmin be sure to Enable Use LOCAL keyword. This worked for me.

MySQL: Checking for Expected Errors, To handle this error and indicate that indeed we do expect it to occur, we can put an error command before the second create table statement. Either of the� For the connection specified by mysql, mysql_error() returns a null-terminated string containing the error message for the most recently invoked API function that failed. If a function did not fail, the return value of mysql_error() may be the previous error or an empty string to indicate no error.

PHP mysqli error() Function, echo "Failed to connect to MySQL: " . $mysqli -> connect_error; exit(); } // Perform a query, check for error if (!$mysqli -> query("INSERT INTO Persons� The world's most popular open source database MySQL.com; Downloads; Documentation; Developer Zone; Developer Zone Downloads MySQL.com

How To Troubleshoot Issues in MySQL, How to Access MySQL Error Logs sudo less /var/log/mysql/error.log In some database systems, including MySQL, query statements in must end in a by setting up a remote database, allowing the server and database to grow at their own� Error: Cannot create Windows service for MySql. Error: 0. This occurs when the Configuration Wizard tries to install the service and finds an existing service with the same name. One solution to this problem is to choose a service name other than mysql when using the configuration wizard. This enables the new service to be installed correctly, but leaves the outdated service in place.

MariaDB Error Codes, MariaDB error codes reference list. 1192, HY000, ER_LOCK_OR_ACTIVE_TRANSACTION, Can't execute the given command because you have active� It’s also possible that all SQL keywords are spelled correctly, but their arrangement is not in the correct order. For example, the statement “FROM Table_1 SELECT *” will report an SQL syntax error

Comments
  • Are the files on the same machine ? Not a mount or anything like that?
  • Just one machine. very simple setup
  • And no spaces in the project name?
  • I don't think so. it seems pretty regular text.