跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • mysql 如何导入 20g 的超大文件
未分類
2020 年 11 月 26 日

mysql 如何导入 20g 的超大文件

mysql 如何导入 20g 的超大文件

資深大佬 : userlijinhong 3

最近对 mysql 如何导入超大文件比较感兴趣。我看网上的教程方法乱七八糟,什么 navicat 导入都说出来了,我目前的思路是先将文本划分为小文本,然后再导入。不知道有没有更好的办法,求教!
大佬有話說 (47)

  • 資深大佬 : mrhhsg

    主是不是对“超大”有什么误解?

  • 資深大佬 : Citrullus

    你这是 8 亿数据的吧

  • 資深大佬 : des

    不说说是什么文件? csv ? sql ?还是 log ?

  • 資深大佬 : wangkun025

    不说什么数据,一律按照

  • 資深大佬 : dzdh

    不管多大直接 `mysql -Ux -px -hx < source.sql`

  • 資深大佬 : rabbirbot00

    navicat 可以导入啊,csv 起码是可以的,txt 没有试过,设置好分隔符应该和 csv 一样的吧

  • 資深大佬 : liprais

    load infile

  • 資深大佬 : KouShuiYu

    @wangkun025 红薯?

  • 資深大佬 : wangkun025

    @KouShuiYu 嗯嗯。

  • 資深大佬 : lTsuKi

    MySQL 直接用 load data infile 呀
    如果是 8e 数据那有一行有点问题,建议清理了再导入

  • 資深大佬 : zhongjun96

    @lTsuKi #10 mysql 如何导入 20g 的超大文件 导入一小时了,才导入 2e,有啥快速导入的方法吗?或者有啥直接查找的方法 ?用 cat 等半天,less 也是半天

  • 資深大佬 : beryl

    直接 load data infile 问题不大,但是可能需要考虑导入过程中间出现问题怎么办,例如连接断了,某一行数据异常,针对这种情况,可以先将文件切分为几个,避免异常后,重新处理的成本

  • 資深大佬 : samzong

    最多导入的时候用了 50 分钟,还原一个 db,对心态的极其考验

  • 資深大佬 : Hconk

    @zhongjun96 rg 直接搜

  • 資深大佬 : wzq001

    插个眼~!

  • 資深大佬 : dog82

    要说清楚 20G 是啥

  • 資深大佬 : funbox

    进入 mysql
    mysql -u root -p

    创建数据库
    CREATE DATABASE 数据库名;

    设置参数
    set sql_log_bin=OFF;//关闭日志
    set autocommit=0;//关闭 autocommit 自动提交模式

    使用数据库
    use 数据库名;

    开启事务
    START TRANSACTION;

    引入 SQL 文件
    source 文件的路径;

    成功后事务提交
    COMMIT;

  • 資深大佬 : MurphyL0

    load data infile…

  • 資深大佬 : lTsuKi

    @zhongjun96 用 load data infile 大概几十分钟就导入完了,不过索引建了 2 个多小时,最后 3 小时 20 分钟完成,数据 22G,可秒查了

  • 資深大佬 : Cll66

    微博裤子?

  • 資深大佬 : towser

    泄漏的电话?

  • 主 資深大佬 : userlijinhong

    @mrhhsg 我说的超大是文件大小,不知道这样说是否合理,或者说你们对超大有什么其他的见解 (我竟然不知道怎么在这上面发表情)

  • 主 資深大佬 : userlijinhong

    @des csv

  • 主 資深大佬 : userlijinhong

    navicat 是可以导入,但是考虑到网络 IO 的问题,可能会比较慢;然后数据文件还是在服务器上的,本地文件的读取就不用考虑数据路由,网络带宽等因素了

  • 資深大佬 : aice755169

    什么格式没说,不同格式 效率差很多的

  • 主 資深大佬 : userlijinhong

    @funbox 对于这种手动提交事务的话,我觉得还是把文件划分为小文件了再导入,万一数据出错,又要重新来

  • 主 資深大佬 : userlijinhong

    @lTsuKi 我等哈去试一哈

  • 主 資深大佬 : userlijinhong

    @aice755169 是我大意了,格式的话是 cvs

  • 資深大佬 : ruzztok

    我还以为你要导入一部电影到数据库中

  • 主 資深大佬 : userlijinhong

    @KouShuiYu 我开始看半天嗯是没看懂这个红薯…不过我没那么多的红薯资料

  • 資深大佬 : Hodor

    文件发我,我帮你测试一下啊,哈哈哈

  • 主 資深大佬 : userlijinhong

    @Hodor 这就不劳烦兄弟,我觉得我能行,哈哈嗝

  • 資深大佬 : Donss

    datax?

  • 資深大佬 : lixintcwdsg

    不管如何,一定要用 load data,其余效率和 load data 都差好远
    然后文件要分割一下

  • 資深大佬 : lyy16384

    我觉得直接写程序插入就行,多线程,一次 insert 多行,批量提交事务,直接拼 sql 不要用参数化,程序和数据库放一台机器上,其他访问数据库的服务都先下线
    以前用这种方式迁移过两亿条数据,而且是一边读 db 一边处理逻辑一边写 db,只要半小时左右

  • 資深大佬 : dorothyREN

    20G 真不算大

  • 資深大佬 : Shuiss

    @wangkun025 红薯是什么?

  • 資深大佬 : wangkun025

    @Shuiss 随口一说而已。别当真。抱歉带来困扰。
    毕竟主说大文件,我也不知道是什么啊。后来主说是 csv 。
    万一是 sql 呢,万一是 Excel 呢,万一是蓝光高清电影呢,万一是照片呢。
    开始主没说啊。就这。

  • 資深大佬 : lostberryzz

    44.65G 神秘文件哈哈哈

  • 資深大佬 : KIzuN1

    @lostberryzz 制种者为啥把 WB 弄了两份捏

  • 資深大佬 : laminux29

    分批导入并校验 + 实时监控各设备负载并不断解决瓶颈

  • 資深大佬 : lostberryzz

    @KIzuN1 可能是操作失误,两个文件没有区别

  • 資深大佬 : en20

    看不懂各位谜语人,什么红薯 8e,谁能明示一下??

  • 資深大佬 : zhongjun96

    @en20 #43 红薯 39L 解释了,8e 就是 qq 数据

  • 資深大佬 : kios

    感觉你重新定义了超大这个词汇,哈哈哈哈

  • 資深大佬 : funbox

    @userlijinhong 这个还好 首先你要吧 sql 文件上传到服务器上 这样的话建立索引的时间会大大缩短 导入会加速的

  • 資深大佬 : toomlo

    你要是没机器,就去各种云创建个按量付费的,在 docker 里面搞好镜像在上传

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具