我的170G
上有3个sqlite3数据库文件,从1.07T
到CentOS 7 sever
。我可以按sqlite3 logs.db .dump > logs.sql
创建转储文件,但由于语法原因,这些sql文件无法导入MySQL
。
我已经阅读了这些解决方案:
Quick easy way to migrate SQLite3 to MySQL?
http://www.sqlite.org/cvstrac/wiki?p=ConverterTools
http://www.redmine.org/boards/2/topics/12793
https://realpython.com/blog/python/web2py-migrating-from-sqlite-to-mysql/
https://github.com/athlite/sqlite3-to-mysql
我尝试了其中一些,但似乎没有用。我没有足够的内存用于string
搜索和替换。
是否有一些有效的方法可以迁移大型sqlite
数据库?
答案 0 :(得分:2)
显然我没有使用http://www.redmine.org/boards/2/topics/12793中的所有脚本,我只使用the latest script by Peter sørensen并且它无法处理大文件,因为控制台返回“Killed”。我想这与临时文件操作有关。
我的问题由Pavel Medvedev's script解决了。虽然Peter的帖子说更新的脚本处理“当一个刺激跨越多条线时,并非所有都被转换为正确的mysql值的问题”。我的sql文件有多行字符串,Pavel的脚本可以处理它。这里没有问题。也许Peter提到的问题会出现在某人的档案中。