sqlite3导入到mysql

2019/3/24 2:49:29 人评论 次浏览 分类:MYSQL

背景

使用magenetico抓取磁力链接,由于它使用的是sqlite3, 文件会越来越大,而且不支持分布式;所以需要将其改造成MySQL,在迁移之前需要将已经抓取的15G数据导入到MySQL

从sqlite3文件dump出sql

sqlite3 database.sqlite3sqlite3> .output /path/to/dump.sqlsqlite3> .dumpsqlite3> .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. 替换 hexsed '/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

上一篇:分表优化:千万级数据的插入方法

下一篇:没有了

相关知识

  • 低成本和高性能MySQL云数据的架构探索

    PPT这里下载: MySQL作为一个低成本、高性能、可靠性好而且开源的数据库产品,在互联网企业应用非常广泛,例如淘宝网有数千台MySQL服务器的规模。虽然近两年来NoSQL的发展很快,新产品层出不穷,但在业务中应用NoSQL对开发者来说要求比较高,而MySQL拥有成熟的中间件、运…

    2017/7/19 11:09:00

共有访客发表了评论 网友评论

验证码: 看不清楚?