mysql无法导出数据,出现ERROR 1290

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql无法导出数据,出现ERROR 1290相关的知识,希望对你有一定的参考价值。

ERROR 1290 (HY000): The mysql server is running with the --secure-file-priv option so it cannot execute this statement.将my.ini里的seruce-file-priv条目注释掉之后,还是出现同一个错误。

你目前可以如下方法:

进入控制面板->服务管理,找到Mysql服务,右键修改属性,改为自启动,以后再重启就没有问题了(除此外还有第三方软件不能禁用mysql的开机启动);
每次登录前,在命令行中,用命令启动:net start mysql

我们可以用show variables like '%secure%';命令显示文件目录


这样将导入文件放在 /var/lib/mysql-files/文件夹下,之后再从这里导入就可以了

导出文件时候,也是将 文件导出到这个文件夹里。

load data infile '/var/lib/mysql-files/part.csv' into table PART fields terminated by ','  optionally enclosed by '"' escaped by '"' lines terminated by '\\r\\n';

如果显示ERROR 1261 (01000): Row 1 doesn't contain data for all columns

这个错误,是因为数据行不匹配,默认不能有空,用下列命令解决set sql_modul = 0;

参考技术A

cmd登录mysql;show variables like '%secure%';查看 secure-file-priv 当前的值是什么,出现这种错误有可能是值是NULL或者某个默认路径,找到mysql的安装路径修改my.ini,改为secure-file-priv=""  版本不一样my.ini的路径不一样,5.7的需要在ProgramData文件夹下的MySQL中;ProgramData可能在C盘被隐藏了,打开隐藏即可

这样就行了

参考技术B 我去,问题过去半年了,解决了吗
注释掉之后,添加一个secure-file-priv="/",然后重启,就可以了。
因为你如果单单注释掉,在命令行输入show varibles like '%secure%';你就会发现,这个属性现在是NULL,证明所有文件夹都没有权限。
添加了"/"就可以直接导入到C盘根目录了本回答被提问者和网友采纳
参考技术C 我们可以通过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
(这个方法是linux下的)
参考技术D 解决方法如下 以select .... into file
为例
<1> select ..... into outfile '/tmp/target.txt'
<2>使用数据库目录

select ..... into outfile
'/var/lib/mysql/target.txt'
root:@localhost[mytest]>select * from me into
outfile '/var/lib/mysql/target.txt' ;
Query OK, 3 rows affected (0.00
sec)
<3> 使用默认目录
root:@localhost[mytest]>select * from me into
outfile 'target.txt';
Query OK, 3 rows affected (0.00 sec)追问

答非所问

MYSQL导入数据出现ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it

MYSQL导入数据出现The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

方法一:

这个原因其实很简单,是因为在安装MySQL的时候限制了导入与导出的目录权限

只能在规定的目录下才能导入

我们需要通过下面命令查看 secure-file-priv 当前的值是什么

show variables like \'%secure%\';

 

 

我们可以看到value的值为/var/lib/mysql-files/

那么我们把导入的路径改为上面的值就可以了

方法二:

  如果觉得这样太麻烦,那么我们就需要改配置文件,

可以参考:http://blog.csdn.net/lyhvoyage/article/details/50521440

我改完之后觉得,原来的位置挺好,以后可能有需要再弄吧。

---恢复内容结束---

以上是关于mysql无法导出数据,出现ERROR 1290的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL导入数据出现ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it

rhel6 mysql skip-grant-tables 添加用户报错 ERROR 1290

mysql导出数据

MySQL导出数据到文件报错

ERROR 1290 (HY000): The MySQL server is running with&nbs

MySQL关于ERROR 1290 (HY000)报错