• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    将sqlite3中数据导入到mysql中的实战教程

    前言

    sqlite3只小巧轻便,但是并不支持并发访问,当网站并发量较大时候,数据库请求队列边长,有可能导致队列末尾去数据库操作超时,从而操作失败。因此需要切换到支持并发访问的数据库。切换数据库需要将老的数据导出,再导入到新的数据库中,但是sqlite3和mysql的数据库并不完全兼容,需要做部分调整才能正常导入到mysql中。我最近工作中就遇到了这个问题。

    最近一个项目中使用magenetico抓取磁力链接,由于它使用的是sqlite3, 文件会越来越大,而且不支持分布式;所以需要将其改造成MySQL,在迁移之前需要将已经抓取的15G数据导入到MySQL,下面来一起看看详细的介绍吧

    方法如下:

    从sqlite3文件dump出sql

    sqlite3 database.sqlite3
    sqlite3> .output /path/to/dump.sql
    sqlite3> .dump
    sqlite3> .exit

    切分文件

    文件比较大的时候,很有导入到一半的时候失败,这个时候需要从失败的行开始切分出一个新的sql文件来

    awk '{if (NR>=6240863) print $0>"dump_part.sql"}' dump.sql

    mysql参数修改

    [mysqld]
    max_allowed_packet = 100M

    sql兼容, 符号替换

    # 1. 删除不包含 INSERT INTO 的行
    # 2. 替换表名 wrap
    # 3. 替换 hex
    sed '/INSERT INTO/!d;s/"table1"/`table1`/;s/"table2"/`table2`/;s/,X/,/' dump.sql

    导入到MySQL

    # 加上 force 参数, 防止部分有问题的sql阻止导入
    mysql -uroot -p -f magnet  dump.sql

    引用

    How To Use The SQLite Dump Command

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

    您可能感兴趣的文章:
    • php基于Fleaphp框架实现cvs数据导入MySQL的方法
    • MySQL中数据导入恢复的简单教程
    • PHP把MSSQL数据导入到MYSQL的方法
    • MySQL中使用load data命令实现数据导入的方法
    • 解析csv数据导入mysql的方法
    • phpMyAdmin下将Excel中的数据导入MySql的图文方法
    • 3步搞定纯真IP数据导入到MySQL的方法详解
    • Excel数据导入Mysql数据库的实现代码
    • 如何把ACCESS的数据导入到Mysql中
    • MYSQL大数据导入
    • 分析Mysql大量数据导入遇到的问题以及解决方案
    上一篇:sql连接查询语句中on、where筛选的区别总结
    下一篇:Mybatis分页插件的实例详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    将sqlite3中数据导入到mysql中的实战教程 将,sqlite3,中,数据,导入,