• mysql导入超大sql文件


    mysql导入超大sql文件

    在网上找了个2017年行政区划的sql文件,需要导入到本地mysql库中,同事使用navicat导入的时候直接卡死了,该SQL文件差不多112MB大小。通过百度、google找到很多办法,有的博客提供的方法还有坑,最终通过实践找到了一个好用而且可行的办法:

    注意:本操作环境为:windows10、mysql5.7.17版本,linux平台步骤基本一样。

    1)使用cmd进入mysql并切换到对应的库:

    mysql –uroot –p123456 
    use bart; 
    

    2)关闭sql_log_binautocommitmax_allowed_packet选项:

    show VARIABLES like '%sql_log_bin%'; # 查看参数值
    show VARIABLES like '%autocommit%'; 
    set sql_log_bin=0; #  关闭日志 
    set autocommit=0; #  关闭 autocommit 自动提交模式 
    
    #  查看默认是  4194304 = 4M  ,我们修改为  400M  即  419430400   
    show VARIABLES like '%max_allowed_packet%';   
    #  注意要使用  global  设置否则不成功 
    set global max_allowed_packet= 419430400; 
    

    3)手动开启事务,并导入大SQL文件:

    #  手动开启事务并导入 
    start transaction; 
    source C:/Users/Bart/Desktop/cnarea20171031/cnarea20171031.sql 
    commit; 
    

    4)恢复默认参数:

    #  恢复旧的配置 
    set sql_log_bin=1; #  打开日志 
    set autocommit=1; #  打开 autocommit 自动提交模式 
    set global max_allowed_packet= 4194304; #  修改为默认值 
    

    性能爆强 112M 的 70W 数据使用了 8.37 秒就导入完成!!!

    参考:

    mysql.conf配置文件的配置文档:https://dev.mysql.com/doc/refman/5.7/en/option-files.html

  • 相关阅读:
    Lambda表达式
    java中解决小数精度问题
    [Unity]-黑魂复刻-动画 001
    kuka Virtual Remote pendant 连接使用
    C# 操作 pg 数据库
    C#常用字符串操作
    Go学习笔记之相关资源
    Go学习笔记之常用命令
    Go学习笔记之安装
    nginx学习笔记之安装
  • 原文地址:https://www.cnblogs.com/bartggg/p/12058557.html
Copyright © 2020-2023  润新知