在做网站开发过程中,遇到空间不带mysql数据库,但是支持运行php环境的情况,想到的解决办法是把mysql数据库文件转换成sqlite数据库即可。
网上搜索mysql转sqlite的软件,发现MysqlToSqlite_v2.5可以解决这个问题,但是在网上下载的都是试用版本,有的功能做了些限制,比如在转的过程中,发现他一次最多只能转20张数据表,这个的解决办法是分批次转就可以了,操作步骤如下:
1、首先在本地部署一个可以运行mysql的环境,比如wamp,然后使用软件Navicat链接到mysql数据库,把待导入的mysql数据库文件导入到一个数据库
2、 使用MysqlToSqlite_v2.5,输入对应的账号链接上后,右键选择“Tables To Tables”,然后在选择表的时候,一次性选择20个导入就没问题,导入成功后,把已经导入成功的mysql表删除,然后用同样的方法导入其他剩余的数据表,直到把所有的数据表都导入完整。

但是在转换的过程中,遇到了另外个问题,如果一个表数据量太大,则只能最多转换1000条数据,超过1000条的数据没法正常导入,比如我那张表一共4万多条数据,那么如何把带有大量的数据表导入到sqlite呢?这时需要用到另外个工具,sqlite3,这个工具可以在几秒内导入几万条数据,下面说下使用方法:
3、先通过一定方法比如还是上面说的方法导入一张空表到sqlite或者直接在sqlite里面新建一个要导入数据的表;然后利用navicat的“导出向导”把要导出的数据表里的数据导出为txt文件,注意导出时不要选中“包含列的标题”以及选择“逗号(,)”作为栏位分割符

4、把要导入的文件以及sqlite数据库放到和sqlite3同一个目录,导入数据的操作如下:
sqlite> .open phpsqlite.db #打开数据库 sqlite> .database #用于验证:显示目前连接的数据库路径 main: C:\Users\86180\Desktop\sqlite3\phpsqlite.db sqlite> .table #用于验证:显示这个数据库有哪些表格 tableA sqlite> .separator "," #指定分隔符为"," sqlite> .import importdata.txt tableA # .import FileName TableName
一般2秒中即可完成数据的导入了,下面附上使用到的软件的下载地址: