时间:2021-05-23
前言
sqlite3只小巧轻便,但是并不支持并发访问,当网站并发量较大时候,数据库请求队列边长,有可能导致队列末尾去数据库操作超时,从而操作失败。因此需要切换到支持并发访问的数据库。切换数据库需要将老的数据导出,再导入到新的数据库中,但是sqlite3和mysql的数据库并不完全兼容,需要做部分调整才能正常导入到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.sqlmysql参数修改
[mysqld]max_allowed_packet = 100Msql兼容, 符号替换
# 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
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了php导入大量数据到mysql性能优化技巧。分享给大家供大家参考。具体分析如下:在mysql中我们结合php把一些文件导入到mysql中,这里就来
Django中默认使用sqlite3数据库,今天研究了下如何将它换成常见的mysql数据库。由于项目用得python3,而MySQLdb没有支持python3的
其实,在sqlite3中没有top的语法结构,但在sqlite3中有相关的语法能实现跟top语法相同的功能,sqlite3sql是用limit这样的语法来实现的
如何将Oracle中的数据导入到mysql中,在SQLyog工具其中看到一些sql语句,下面分享一下。 -----查看ydtf数据库中的基础表,就是用户创
Windows10系统那天中可以将3d模型直接导入到word文件中,该怎么导入使用3d作品呢?下面我们就来看看详细的教程。软件名称:MicrosoftOffic