禁用在MySQL上加载数据的安全权限

我在Windows 10机器上运行MySQL 5.7。 我已经通读了关于这个主题的所有线程,并且还没有弄清楚如何让我的数据加载并通过这个错误:

Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 

我有1)检查设置,以改变他们能够从我已经保存我的数据集的目录加载,2)以pipe理员打开MySQL并检查命令行,并已确认安全文件确实指向我的目录,3)并在init文件中确认它指向包含我的文件的正确目录。 我尝试改变数据集的位置,所以它会在一个新的文件夹中,并确认它已经被移动到上面的方法,但它仍然没有工作。

任何和所有的帮助将受到欢迎,谢谢。

我无法重现这个问题。

 mysql> SELECT VERSION(); +-----------+ | VERSION() | +-----------+ | 5.7.13 | +-----------+ 1 row in set (0,00 sec) mysql> SELECT @@GLOBAL.secure_file_priv; +---------------------------+ | @@GLOBAL.secure_file_priv | +---------------------------+ | NULL | +---------------------------+ 1 row in set (0,00 sec) -- USE ... mysql> LOAD DATA INFILE '/var/lib/mysql-files/myfile.csv' -> INTO TABLE `test_files` -> COLUMNS TERMINATED BY ',' ENCLOSED BY '\"' -> LINES TERMINATED BY '\n'; ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 

更改文件: /etc/mysql/my.cnf

 [mysqld] . . . secure_file_priv=/var/lib/mysql-files/ . . . 

重新启动MySQL。

 mysql> SELECT @@GLOBAL.secure_file_priv; +---------------------------+ | @@GLOBAL.secure_file_priv | +---------------------------+ | /var/lib/mysql-files/ | +---------------------------+ 1 row in set (0,00 sec) mysql> LOAD DATA INFILE '/var/lib/mysql-files/myfile.csv' -> INTO TABLE `test_files` -> COLUMNS TERMINATED BY ',' ENCLOSED BY '\"' -> LINES TERMINATED BY '\n'; Query OK, 3 rows affected (0,00 sec) Records: 3 Deleted: 0 Skipped: 0 Warnings: 0 

请参阅6.1.4服务器系统变量:: secure_file_priv

在MACOSX上添加.my.cnf到你的主目录,内容是:

 [mysqld_safe] [mysqld] secure_file_priv="" 

https://github.com/Homebrew/homebrew-versions/issues/1552

  1. 检查您要从中导入的目录的操作系统权限。
  2. 当试图通过“使用LOAD DATA的CVS”导入数据时,请选择使用本地选项。