前言
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
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“将sqlite3中数据导入到mysql中的实战教程”评论...
更新日志
2024年05月10日
2024年05月10日
- 欢乐钓鱼大师鱼竿能不能重置 欢乐钓鱼大师鱼竿重置介绍
- 浩声雅韵-《2023第十八届南宁(东盟)国际视听展》珍藏版纪念CD[WAV+CUE]
- 江淑娜1996-长夜悄悄【点将】WAV+CUE
- 王馨平.1993-LINDAWONG【宝丽金】【WAV+CUE】
- 外媒玩了50小时《哈迪斯2》!称比第一部还好玩
- 陈奕迅.2013-MUSIC.LIFE精选4CD【英皇娱乐】【WAV+CUE】
- 郑亚弦.2024-苹果(EP)【发现梦想】【FLAC分轨】
- 群星.1994-艺能MUSIC纷纷FUN【艺能动音】【WAV+CUE】
- 欢乐钓鱼大师称号鱼怎么钓 欢乐钓鱼大师称号鱼钓鱼攻略
- 欢乐钓鱼大师蓝色妖姬怎么钓 欢乐钓鱼大师蓝色妖姬钓鱼攻略
- 欢乐钓鱼大师碘化之齿怎么钓 欢乐钓鱼大师碘化之齿钓鱼攻略
- 金海心《把耳朵叫醒》APE+CUE
- 中唱《好歌珍藏--民族风情》2CD[WAV]
- 【古典音乐】拉罗查《舒曼钢琴作品》1971[FLAC+CUE整轨]
- 杨幂新片火锅撤档引吐槽 网友:哪个档都不好看