Linux系统下HTML5使用SQLite后数据库文件的存放位置

时间:2021-11-12 07:17:32
Linux系统下,html5用openDatabase方法使用SQLite数据库,创建访问数据库对象后,不知到那个数据库文件存到了哪个路径下。
【问题来源】
前段时间我在搭建一个简单的html5+SQLite+python的小型Demo时遇到了这个问题。SQLite作为一个轻量级的数据库,是html5可以直接连接调用的本地数据库,非常方便。同时我还想利用python脚本向SQLite数据库里面读写数据,从而搭建起一个整体小框架。但是存在的问题是,python脚本想要读写该数据库,就需要得知该数据库文件的存放路径。因此找到html5生成的SQLite数据库文件的存放位置就至关重要。
【具体问题】
比如 var db = openDatabase('testdb',1.0','TestDB',2*1024*1024),执行后会创建一个testdb数据库文件,但是我怎么也找不到这个数据库文件实际存放在哪里。在网上找了很久也没有相关准确解答,试了很久,才解决这个问题,因此写出来给大家参考一下。

【系统参数】

首先提供我当前的系统和环境参数:

Ubuntu 12.04
chrome版本 37.0.2062.120 Ubuntu 12.04 (281580) (64-bit)
【解决方法】

1.用Chrome运行html5页面,然后按F12,找到"Resourse"点击,可以看到左侧列表中存在你所创建的SQLite数据库文件testdb。因为我们可以判断,这个数据库文件的存放地址肯定是在chrome浏览器的相关文件夹下。不同操作系统chrome浏览器相关文件目录位置不同。

Linux系统下HTML5使用SQLite后数据库文件的存放位置

2.打开Terminal,进入到/.config/chromium/Default这个目录下。如下图所示,我们通过ls命令看到Default文件夹下,有一个database目录,进入,看看是否有http_127.0.0.1_8020或者file_0目录:

Linux系统下HTML5使用SQLite后数据库文件的存放位置

3想要实际找到底下的数据库文件,就要通过在主文件夹下,进入到下面这个目录中:
/home/mcy/.config/chromium/Default/databases/http_127.0.0.1_8020

我也在一个朋友的电脑上也试了下,发现是这个路径:
/home/mcy/.config/chromium/Default/databases/file__0

如图所示,目录下的2,3,4就是我们创建的数据库文件:

Linux系统下HTML5使用SQLite后数据库文件的存放位置

4.可以通过双击目标数据库文件,用Sqliteman(一个SQLite数据库可视化工具,需要用apt-get安装一下)打开进行查看:

Linux系统下HTML5使用SQLite后数据库文件的存放位置

5.好了现在我们找到这个数据库文件了,可以通过在python脚本里写入相应的路径就可以成功连接上这个数据库,进行读写了。要注意这个数据库文件的名字(2,3,4……)是自动生成的,我试了下,好像不能修改。

Linux系统下HTML5使用SQLite后数据库文件的存放位置

【相关链接】
从别人提问那里得到一些启发http://forum.ubuntu.org.cn/viewtopic.php?t=248071
Windows系统下面的存储位置,可参考http://www.2cto.com/kf/201205/130762.html

同时要注意可能还存在chrome版本问题,不同版本导致存放路径不同
我的版本 37.0.2062.120 Ubuntu 12.04 (281580) (64-bit),供大家参考。