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

场景:

mysql> load data infile 'C:\data.txt' into tab_load_data;
ERROR 1290 (HY000): The MySQL server is
on so it cannot execute this statement

排查:

mysql> select @@global.secure_file_priv;

里面肯定有默认设置的文件夹,
可以有两种方案解决
1.把要上传的文件放到你设置的文件目录内,

  1. Disable secure-file-priv.
    必须修改配置文件my.ini.
#secure-file-priv="datadir="C:\AppServ/MySQL/Uploads"

修改后重启mysql服务

mysql> select @@global.secure_file_priv;
+---------------------------+
| @@global.secure_file_priv |
+---------------------------+
| NULL                      |
+---------------------------+
1 row in set (0.00 sec)

3,此时在此运行

mysql> load data infile "c:loads\tab_load_data.txt" i
    -> table tab_load_data;
ERROR 29 (HY000): File 'C:\loads\tab_load_data.txt (Errcode: 2 - No such file or directory)
## 此时 报无此目录error, 不使用绝对路径,把要上传的文件复制到数据库对应data目录,C:\MySQL\data\data_name\tab_load_data.txt
> a
mysql> load data infile "tab_load_data.txt" int
    -> table tab_load_data;
Query OK, 6 rows affected, 1 warning (0.03 sec)
Records: 6  Deleted: 0  Skipped: 0  Warnings: 1

mysql> select * from tab_load_data;
+----+-----------+------+-----------+------+
| id | name      | sex  | jiguan    | f5   |
+----+-----------+------+-----------+------+
|  1 | zhagnsan    | 男   | 江西      |    1 |
|  2 | 韩顺平    | 男   | 四川      |    2 |
+----+-----------+------+-----------+------+
    原文作者:蓝色的雪啦
    原文地址: https://www.jianshu.com/p/7eca1cc32bc2
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞