Search code examples
mysqldatabase

How should I resolve --secure-file-priv in MySQL?


I am learning MySQL and tried using a LOAD DATA clause. When I used it as below:

LOAD DATA INFILE "text.txt" INTO table mytable;

I got the following error:

The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

How do I tackle this error?

I have checked another question on the same error message, but still can’t find a solution.

I am using MySQL 5.6


Solution

  • It's working as intended. Your MySQL server has been started with --secure-file-priv option which limits from which directories you can load files using LOAD DATA INFILE.

    Use SHOW VARIABLES LIKE "secure_file_priv"; to see the directory that has been configured.

    You have two options:

    1. Move your file to the directory specified by secure-file-priv.
    2. Disable secure-file-priv. This must be removed from startup and cannot be modified dynamically. To do this check your MySQL start up parameters (depending on platform) and my.ini.