【发布时间】:2015-08-11 12:11:16
【问题描述】:
我的 CentOS 7 sever 上有 3 个 sqlite3 数据库文件,从 170G 到 1.07T。我可以通过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 数据库?
【问题讨论】:
-
您能否分两步处理结构和数据?导出创建表的语句,并根据语法差异在必要时修改这些语句。然后将数据导出为 CSV,以便您可以将其导入到已经准备好的 MySQL 表中(使用
LOAD DATA INFILE或类似的东西。) -
您应该尝试一些多数据库管理应用程序,例如 Navicat Premium,它可以在各种数据库类型之间迁移数据 - navicat.com/products/navicat-premium
-
谢谢,@CBroe!我不太确定。如果您查看redmine.org/boards/2/topics/12793 中的步骤,不仅是语句,还有值和符号。该脚本逐行进行。
-
谢谢,@OndřejŠotek!我想......购买的解决方案就可以了。忘了补充问题,我正在寻找一些免费的解决方案...不要认为我的主管愿意为此支付 600 美元...