V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
kofj
V2EX  ›  问与答

4 千余万条格式文本数据导入 mysql,我准备写 shell 脚本导入数据库,大家有什么更好的建议?

  •  
  •   kofj · 2014-12-02 11:17:40 +08:00 · 4981 次点击
    这是一个创建于 3670 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Mingw,准备写shell脚本导入到mysql数据库。Navicat好用但是肯定卡,不能忍受,大家有什么更好更高效的方法?

    
    14 条回复    2014-12-02 19:06:36 +08:00
    flynnX
        1
    flynnX  
       2014-12-02 11:22:43 +08:00
    处理成批量插入的sql语句,然后执行试试,我试过一次批量插入20+W条数据,几秒搞定。建议开启事务再插入,以防数据有误,可能还有需要设置mysql packet大小,如果你的文本太大的话
    jianghu52
        2
    jianghu52  
       2014-12-02 11:26:30 +08:00
    我数据量没你那么大,大概1千万条,navicat就已经卡的不行了。后来实在没办法,他们写的python脚本,把记录分成10个文件,然后一个个导入数据库。有时间,就是这么任性~
    linkiosk
        3
    linkiosk  
       2014-12-02 11:28:54 +08:00
    写好shell别忘了共享一下
    kofj
        4
    kofj  
    OP
       2014-12-02 11:35:51 +08:00
    @flynnX 谢谢提醒,文本不大

    @jianghu52 实测4G内存下Navicat会报错:memory out。BTW,分割文本不用专门写python吧?我的数据是单行有分隔符的,分割很容易

    @linkiosk sure
    billwang
        5
    billwang  
       2014-12-02 11:36:55 +08:00
    数据量不大,可以等负载低的时候分时分阶段搞定。随时监控服务器负载及空间情况。oracle的话还得监控归档空间使用,mysql应该不用。
    mhycy
        6
    mhycy  
       2014-12-02 11:37:29 +08:00
    处理成SQL语句以后直接在服务器上用mysql管理器用source命令导入
    jianghu52
        7
    jianghu52  
       2014-12-02 11:39:38 +08:00
    你是直接copy到query下执行啊。还是用的dump sql 的形式执行的?
    dump sql 也会报错么?
    mahone3297
        8
    mahone3297  
       2014-12-02 11:50:15 +08:00
    bulk insert
    xiaogui
        9
    xiaogui  
       2014-12-02 13:50:57 +08:00
    使用 dump
    pi1ot
        10
    pi1ot  
       2014-12-02 13:54:25 +08:00
    load file?
    a591826944
        11
    a591826944  
       2014-12-02 13:54:45 +08:00
    弄成 sql 用命令行 轻松导入啊 命令行最快了
    markmx
        12
    markmx  
       2014-12-02 13:57:44 +08:00
    不管是什么导入 如果表类型是iNNODB的话。记得先google一下。。会快很多的!
    Battle
        13
    Battle  
       2014-12-02 15:35:09 +08:00
    求助,我也遇到了你这个问题;
    我的是Access文件,每一个文件都是上百万条的数据,估计navicat会卡死,不知道怎么用shell导入到mysql中
    hanwujibaby
        14
    hanwujibaby  
       2014-12-02 19:06:36 +08:00
    切分文件入库。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5302 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 08:43 · PVG 16:43 · LAX 00:43 · JFK 03:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.