有谁知道 MySql 这个报错 是什么问题

ErrorCode:1290.TheMySQLserverisrunningwiththe--secure-file-privoptionsoitcannotexecut... Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
我在把csv中的data导入一个·table时候出现的
展开
 我来答
淡淡的雷人生活
2019-03-15 · TA获得超过2399个赞
知道小有建树答主
回答量:440
采纳率:87%
帮助的人:73.2万
展开全部

The MySQL server is running with the --secure-file-priv option

ERROR 1290 (HY000) at line 1: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

查看一下secure_file_priv的数值

show variables LIKE '%secure_file_priv%';

NULL 表示限制mysql 不允许导入或者导出

修改mysql配置文件my.cnf 或 my.ini,在[mysqld]内添加

secure_file_priv = 

(secure_file_priv的值没有具体值时,mysqld的导入或导出不限制文件目录)

或者

secure_file_priv = 指定目录 (限制mysqld 的导入或导出只能在指定目录下)

重启mysql,再次查看

导出的时候记得 windows路径 用 / 分隔目录 

ok

--------------------- 

作者:dongsir 董先生 

来源:CSDN 

原文:The MySQL server is running with the --secure-file-priv option

版权声明:本文为博主原创文章,转载请附上博文链接!

百里拐弯儿
2017-08-31 · TA获得超过221个赞
知道小有建树答主
回答量:220
采纳率:100%
帮助的人:130万
展开全部
1.进入mysql查看secure_file_prive的值

$mysql -u root -p

mysql>SHOW VARIABLES LIKE "secure_file_priv";

secure_file_prive=null -- 限制mysqld 不允许导入导出

secure_file_priv=/tmp/ -- 限制mysqld的导入导出只能发生在/tmp/目录下

secure_file_priv=' ' -- 不对mysqld 的导入 导出做限制

2.更改secure_file_pri的值

/usr/local/mysql/support-files中的my-default.cnf配置文件,就把它复制到/private/etc中,重命名为“my.cnf”,并加入secure_file_priv='',重启mysql服务器即可。

3.导入csv文件

-- sql导入csv文件
load data local infile '/Users/jojo/dumps/train.csv' --文件目录
into table new_table -- 这里导入csv会出错,具体解决方法见"问题解决"
fields terminated by','optionally enclosed by '"' escaped by '"'
-- 字段之间以逗号分隔,字符串以半角双引号包围,字符串本身的双引号用两个双引号表示
lines terminated by'\r\n' -- 数据行之间以\r\n分隔

4.导出csv文件

select * from table_name
into outfile 'C:/ProgramData/MySQL/MySQL Server 5.7/xx.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '/n'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
苍紫幽蓝
推荐于2017-09-11 · TA获得超过440个赞
知道小有建树答主
回答量:207
采纳率:80%
帮助的人:161万
展开全部

这个是限制了导入导出目录,或者禁止了导入导出。

mysql中执行一下下边语句,查看 secure-file-priv 

show variables like '%secure%'

如果是一个路径的话,导入导出的文件路径放在这个路径下

如果是NULL,就要对secure-file-priv进行设置

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cn2378
2017-08-21 · 超过10用户采纳过TA的回答
知道答主
回答量:30
采纳率:100%
帮助的人:11.3万
展开全部
我们可以通过secure_file_priv 来完成对导入|导出的限制
secure_file_priv
1、限制mysqld 不允许导入 | 导出
mysqld --secure_file_prive=null
2、限制mysqld 的导入 | 导出 只能发生在/tmp/目录下
mysqld --secure_file_priv=/tmp/
3、不对mysqld 的导入 | 导出做限制
cat /etc/my.cnf
[mysqld]
secure_file_priv
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
留小琴Pl
2015-11-06 · TA获得超过1331个赞
知道大有可为答主
回答量:1431
采纳率:85%
帮助的人:512万
展开全部

试下如下解决方法:

  1. 停了mysql的服务。

  2. 在类似的这个位置C:\ProgramData\MySQL\MySQL Server 5.6\my.ini, 找到INI文件。复制一份作为备份。

  3. 编辑此文件。将里面的类似的一行 secure-file-priv="C:/ProgramData/MySQL/MySQL Server 5.6/Uploads" 删除。

  4. 启动mysql服务。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式