美文网首页
mysql在linux命令行下导入txt文件

mysql在linux命令行下导入txt文件

作者: 不爱吃饭的小孩怎么办 | 来源:发表于2019-07-16 18:36 被阅读0次

    mysql在linux命令行下导入txt文件

    mysql导入txt的命令如下

    load data local infile "本地文件地址"
    into table table_name(column1,column2) ;
    

    但如果在终端中通过

    mysql -u root -p
    

    登陆的话,输入以上命令会报错:

    ERROR 1148 (42000): The used command is not allowed with this MySQL version
    大家不要被报错的表面翻译给误导了,这其实是个权限问题,解决方法如下

    在通过终端输入时,加上一个参数--local-infile = 1 详细解释请自行百度。
    用下面语句登陆后再进行导入,就成功了

    mysql --local-infile=1 -u root -p 
    

    mysqlimport方法导入文件:
    其实无论是load data还是mysqlimport,导入是事务,如果不是则设置引擎支持事务。

    mysqlimport -uroot -p --local databasename  student.del --fields-terminated-by=0x02
    

    如何解决大文件导入?当有十几甚至几十G文件需要导入时,因为导入中间可能会失败,如果一次性导入,导入失败会导致回滚,代价太高,从几十G文件中寻找问题也是很头疼的事情。因此,需要先将大文件拆成小文件,比如split命令,按2万行一个单位拆成小文件,以后缀编号区分,编写脚本进行自动导入。如果发生的错误,只需要从小文件中定位问题即可。然后重启导入脚本。

    相关文章

      网友评论

          本文标题:mysql在linux命令行下导入txt文件

          本文链接:https://www.haomeiwen.com/subject/uexxlctx.html