• mysql命令行导入csv文件,涵盖各种报错解决(亲测)


    导数命令
    fields terminated by 分隔符 lines terminated by换行符
    文件不能加表头,否则也会当成数据插入
    下面命令是万能的,可以导入各类型文件,文末扩展txt文件导入
    导入csv文件

     load data local infile 'E:\\tmp\\prod.csv' into table aa fields terminated by ',' lines terminated by '\r\n';
    
    • 1

    报错:Loading local data is disabled; this must be enabled on both the client and server sides

    翻译:forLoading local data被禁用;这必须在客户端和服务器端都启用

    我们的这种报错是属于mysql导入数据报错:local_infile服务器变量指示能否使用load data local infile命令。该变量为OFF时,禁用客户端的load data local infile命令,只要我们将该变量设置为ON时, 报错才会消失。
    将local_infile的变量值设置为on

    set global local_infile=1;
    
    • 1

    查看

    show global variables like 'local_infile';
    
    • 1

    报错:ERROR 2068 (HY000): LOAD DATA LOCAL INFILE file request rejected due to restrictions on access.
    登录mysql时加上–local-infile参数即可:mysql -uroot -p123456 --local-infile
    由于我用的mysql command line client,在登录时无法选择参数,因此可以切换用户,等同于重新登录。
    用system命令执行新的shell就可以
    mysql> system mysql -uroot -p123456 --local-infile

    报错:ERROR 2 (HY000): File ‘E: mpprod.xlsx’ not found (OS errno 2 - No such file or directory)
    在这里插入图片描述

    windows路径需要用\
    报错:ERROR 1300 (HY000): Invalid utf8mb4 character string: ‘PK’
    在这里插入图片描述

    excle字符编码不同,导数会乱码报错,把数据粘贴到txt中再改成csv格式导入即可,注意txt中格式选utf-8无BOM格式编码。

    扩展
    txt文件导入
    建表a

    CREATE TABLE a(id INT,NAME VARCHAR(20))
    
    • 1

    asd.txt文件数据
    在这里插入图片描述
    执行导入命令,注意字段分隔符是$

     load data local infile 'C:\\Users\\70201\\Desktop\\asd.txt' into table a fields terminated by '$' lines terminated by '\r\n';
    
    • 1

    在这里插入图片描述

    查询结果
    在这里插入图片描述

  • 相关阅读:
    2、Window上的 虚拟机端口 暴露到 宿主机局域网教程
    信息论随笔(二)信息熵及其性质
    firewalld服务讲解
    HTML+CSS+JavaScript七夕情人节表白网页【樱花雨3D相册】超好看
    短路语法 [SUCTF 2019]EasySQL1
    高通410 随身WiFi 5分钟自动重启解决方案
    chrome插件:content.js、background.js, options.js, popup.js之间的通信
    手把手教你用 Jenkins 自动部署 SpringBoot
    IO读写的基本规则
    全网最详细的大数据架构搭建配置及说明文档
  • 原文地址:https://blog.csdn.net/qq_39331255/article/details/127780397