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

 更新时间:2017年07月11日 10:42:05   作者:小子  
最近因为工作的需求,需要将sqlite3中的数据导入到mysql中去,发现网上的一些教程都不够详细,索性自己写一篇,下面这篇文章主要给大家介绍了关于将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

总结

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

相关文章

  • MSSQL转MySQL数据库的实际操作记录

    MSSQL转MySQL数据库的实际操作记录

    今天把一个MSSQL的数据库转成MySQL,在没有转换工具的情况下,对于字段不多的数据表我用了如下手功转换的方法,还算方便。MSSQL使用企业管理器操作,MySQL用phpmyadmin操作。
    2010-06-06
  • 也许是被忽略的update语句(update技巧)

    也许是被忽略的update语句(update技巧)

    这篇文章主要介绍了也许是被忽略的update语句,update语句就仅仅这样吗?它的精髓它的原理是什么呢?我们通过例子来说明
    2014-08-08
  • Mybatis查询延迟加载详解及实例

    Mybatis查询延迟加载详解及实例

    这篇文章主要介绍了Mybatis查询延迟加载详解及实例的相关资料,Mybatis的延迟加载默认是关闭的,即默认是一次就将所有的嵌套SQL一并查了将对象所有的信息都查询出来。开启延迟加载有两种方式,需要的朋友可以参考下
    2017-01-01
  • MYSQL 导入数据的几种不同

    MYSQL 导入数据的几种不同

    下面是导入数据的不同格式分析。
    2009-04-04
  • 通过DBeaver连接Phoenix操作hbase的方法

    通过DBeaver连接Phoenix操作hbase的方法

    DBeaver 可通过 JDBC 连接到数据库,可以支持几乎所有的数据库产品,本文介绍常用一种通用数据库工具Dbeaver,通过DBeaver连接Phoenix操作hbase的操作,需要的朋友跟随小编一起看看吧
    2021-11-11
  • ADO.NET数据库访问技术

    ADO.NET数据库访问技术

    本篇文章主要介绍了ADO.NET数据库访问技术以及在线或离线访问数据库的实现步骤,有需要的朋友可以参考下
    2015-07-07
  • 多条件查询的程序

    多条件查询的程序

    在一个网站中,常常会使用到查询功能。假设一个企业内部网中,用户信息里通常会涉及到工号、姓名、性别、学历、职业、职称、身份证号码、手机号码、座机号码、传真号码、邮政编号、通讯地址等信息。
    2009-05-05
  • 使用SQL Mail收发和自动处理邮件中的扩展存储过程简介

    使用SQL Mail收发和自动处理邮件中的扩展存储过程简介

    使用SQL Mail收发和自动处理邮件中的扩展存储过程简介...
    2006-12-12
  • openGauss数据库共享存储特性概述

    openGauss数据库共享存储特性概述

    这篇文章主要介绍了openGauss数据库共享存储特性简介,本特性提供主备机共享一份存储的能力,实现基于磁阵设备的主备共享存储HA部署形态,可选通过OCK RDMA提升备机实时一致性读能力,需要的朋友可以参考下
    2023-02-02
  • 数据库的ACID特性术语详解

    数据库的ACID特性术语详解

    这篇文章主要介绍了数据库的ACID特性术语详解,ACID就是:原子性(Atomicity )、一致性( Consistency )、隔离性( Isolation)和持久性(Durabilily),本文分别解释了它们,需要的朋友可以参考下
    2015-02-02

最新评论