当前位置:首页 > mysql技术文章 > mysql遇到load data导入文件数据出现1290错误的解决方案

mysql遇到load data导入文件数据出现1290错误如何解决

  • 发布时间:
  • 作者:码农之家原创
  • 点击:168

这篇文章主要知识点是关于mysql、load、data、错误1290、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

深入理解MariaDB与MySQL
  • 类型:MariaDB大小:75.3 MB格式:PDF作者:李成旭
立即下载

mysql遇到load data导入文件数据出现1290错误的解决方案

错误出现情景

  在cmd中使用mysql命令,学生信息表添加数据。使用load data方式简单批量导入数据。

  准备好文本数据: xueshengxinxi.txt 文件  数据之间以tab键进行分割

  执行 “load data infile 文本数据路径  into table tab_load_data”  弹出错误。

#load data (载入数据)语法,要载入数据如下:
 1 张三   男  江西 1
 2 李四   男  四川 2
 3 王五   男  上海 1
 4 赵六   女  湖北 3
 5 孙七   女  湖北 3
 6 周八   男  湖南 1 

#测试数据表
 create table tab_load_data (
  id int auto_increment primary key,
  name varchar(10),
  sex enum('男','女'),
  native varchar(10),
  f5 int
 ); 
错误描述

  使用load data 导入文件数据总是弹出错误(Error 1290.....)如下:

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

    mysql遇到load data导入文件数据出现1290错误的解决方案

解决思路(过程)

  1) 既然错误提示说明运行了secure-file-priv这个选项,不能执行load服务,那就找到MYSQL的配置文件"my.ini" 中该配置项。

  2) 配置前,先关闭mysql服务

  3) 打开my.ini,搜索关键字“secure-file-priv”找到这个选项后,直接注释掉这个选项,保存后,启动MYSQL服务

      mysql遇到load data导入文件数据出现1290错误的解决方案

  4) 结果还是一样的错误。说明注释没有效果。这是怎么回事了?

    执行命令 “show variables like '%secure%'”发现原来我注释掉后,secure-file-priv的值为NULL,说明禁止导入导出。        

    这说明注释掉是不行的。不删配置文件条目,那只好修改目录好了。

  5)修改路径,执行命令 “show variables like '%secure%'” 查看 , 重启MYSQL。

    mysql遇到load data导入文件数据出现1290错误的解决方案
    mysql遇到load data导入文件数据出现1290错误的解决方案

  6)再执行load data, 执行成功

  mysql遇到load data导入文件数据出现1290错误的解决方案

  更复杂的load用法可以查看mysql手册。 到此,该问题解决。

三, 小结说明

  从本错误中吸取:

  1) load data : 可以从一个外部的记事本文件中导入数据到某个表中。

    该记事本中的数据通常要求“比较整齐”,一行文本对应一行数据,一行中用某种字符(如用tab符)来分割一个一个字段的值

  2) secure-file-priv这个参数用来限制数据导入和导出操作的效果。

    如:执行LOAD,SELECT...INTO OUTFILE语句和LOAD_FILE()函数。这些操作需要file权限。

  3)如果 secure-file-priv这个参数设为一个目录名,MYSQL服务只允许这个目录中执行文件的导入和导出操作。

    这个目录必须存在,MYSQL服务不会创建它。

  4) 如果secure-file-priv这个参数为NULL,MYSQL服务会禁止导入和导出操作。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

推荐内容

idea2020注册激活码(激活到2100年)

实例分析Java实现的zip压缩及解压缩工具类

python3 pandas 如何读取MySQL数据和插入

ThinkPHP3.2.3框架如何实现分页功能

深入理解JS函数stack size计算方法

展开 +

收起 -

MySQL 相关电子书
学习笔记
网友NO.279370

MySQL中使用load data命令实现数据导入的方法

使用方式如下: mysqlload data local infile "D:/ab.txt" into table mytbl(name,age); 使用上述的命令就可以将D:/ab.txt文件的内容导入到表mytbl中,其中name和age是表mytbl的字段,对应ab.txt文件中每行的数据。如果编译安装mysql时没有指定 –enable-local-infile,那么在使用上述命令时会报如下错误: ERROR 1148 (42000): The used command is not allowed with this MySQL version 解决方式有两种,一是重新编译安装加上上面的参数,而是直接用命令行执行,如下: mysql -uroot -proot mydb_name --local-infile=1 -e 'load data local infile "D:/ab.txt" into table mytbl(name,age)' 测试了一把,导入300万条数据时,使用load data命令的时间花销大概在3分钟左右,还是非常不错的! ……

网友NO.647496

mysql中Load Data记录换行问题的解决方法

问题是这样的: 表persons有两个字段: id和name 文本文档persons.txt中内容(其中每行字段之间用tab分割): 1 Bush 2 Carter 3 Bush 在mysql命令行下使用 load data local infile “persons.txt” into table persons 导入数据到persons表中。 导入后查看persons表的数据,与persons.txt的内容一致。但是使用语句 select distinct name from persons 查询,结果中Bush出现了两次(正常结果应该是Bush只出现一次)。 原因分析: 经过分析,发现原因是windows下换行符为"\r\n",而mysql在load data时默认使用"\n"来切割每行记录,导致插入到表中前两条记录的name字段末尾多插入了不可见字符"\r";也就是说使用distinct关键字查询出来的两个Bush中,第一个词尾有回车符"\r”,而第二个词尾没有。 说明: 1. mysql默认使用tab来分割每行的字段。 2. 因为linux下换行符为"\n",所以在linux下不会出现上述问题。 修改方法:……

网友NO.588496

mysql load data infile 的用法(40w数据 用了3-5秒导进mysql)

如果是导入有中文的数据,我的mysql设置的utf8字符集,所以你要导入的xxx.txt文件也要保存utf-8的字符集,命令loaddatainfile"d:/Websites/Sxxxx/test1.txt"ignoreintotable`names`fieldsterminatedby','enclosedby'"'; 不知道用replace这个关键字的话,还是会乱码。。不同、等高手回答。 在详细的介绍,推荐大家去看mysql手册去吧、里面介绍的很详细 、 在使用 LOADDATA 到 MySQL 的时候,有 2 种情况: ( 1 )在远程客户端(需要添加选项: --local-infile=1 )导入远程客户端文本到 MySQL ,需指定 LOCAL (默认就是 ignore ) , 加 ignore 选项会放弃数据,加 replace 选项会更新数据,都不会出现唯一性约束问题。 ( 2 )在本地服务器导入本地服务器文本到 MySQL ,不指定 LOACL ,出现唯一性约束冲突,会失败回滚,数据导入不进去,这个时候就需要加 ignore 或者 replace 来导入数据。 测试如下: ( 1 )……

网友NO.535205

Java如何利用MYSQL LOAD DATA LOCAL INFILE实现大批量导入数据到MySQL

Mysql load data的使用 数据库中,最常见的写入数据方式是通过SQL INSERT来写入,另外就是通过备份文件恢复数据库,这种备份文件在MySQL中是SQL脚本,实际上执行的还是在批量INSERT语句。 在实际中,常常会遇到两类问题:一类是数据导入,比如从word、excel表格或者txt文档导入数据(这些数据一般来自于非技术人员通过OFFICE工具录入的文档);一类数据交换,比如从MySQL、Oracle、DB2数据库之间的数据交换。 这其中就面临一个问题:数据库SQL脚本有差异,SQL交换比较麻烦。但是几乎所有的数据库都支持文本数据导入(LOAD)导出(EXPORT)功能。利用这一点,就可以解决上面所提到的数据交换和导入问题。 MySQL的LOAD DATAINFILE语句用于高速地从一个文本文件中读取行,并装入一个表中。文件名称必须为一个文字字符串。下面以MySQL5为例说明,说明如何使用MySQL的LOADDAT……

<
1
>

电子书 编程教程 文档 软件 源码 视频

Copyright 2018-2020 xz577.com 码农之家

本站所有电子书资源不再提供下载地址,只分享来路

免责声明:网站所有作品均由会员网上搜集共同更新,仅供读者预览及学习交流使用,下载后请24小时内删除

版权投诉 / 书籍推广 / 赞助:QQ:520161757