sqlite3导入到mysql

也就这样,技术在线工具。凡出言,信为先;诈与妄,奚可焉。

搜索关键字

  • 搜索
  • 首页
  • 归档
  • 神器
  • 关于sqlite3导入到mysql

作者:小子

时间:July 10, 2017
分类:Linux

背景

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

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

切分文件:当文件比较大的时候,很可能会导入到一半的时候失败。这个时候需要从失败的行开始切分出一个新的sql文件来。可以使用awk命令实现:

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

MySQL参数修改:

[mysqld]  
max_allowed_packet = 100M # 设置最大允许包大小为100M  

符号替换:在将SQLite的数据导入到MySQL时,需要注意一些SQL语法的兼容性问题以及特殊符号的替代。例如,删除不包含INSERT、UPDATE、DELETE等关键字的字段名和表名;将日期和时间类型的字段名和表名中的下划线(_)替换为短横线(-)。