Navicat使用HTTP通道连接远程服务器的SQLite文件(包含服务端搭建http服务)
Navicat使用HTTP通道连接远程服务器的SQLite文件(包含服务端搭建http服务)
基本原理
数据库端口没开放外网访问的时候,Navicat在外网无法访问数据库。
可以通过在服务器上运行PHP服务,配合官方的ntunnel_sqlite.php脚本进行连接数据库。
ntunnel_sqlite.php脚本可以连接SQLite数据库并执行SQL语句,因为它们都在内网和PHP支持SQLite。
虽然Navicat无法连接上SQLite,但是Navicat对数据库所有的查询可以让PHP代为查询,然后把结果返回给Navicat。
所以把一个php脚本放到服务器上,就可以让Navicat间接连接数据库,对数据库进行操作了。
搭建环境
一、PHP环境
1、安装php5.x环境
yum install -y php
yum install -y php-mysql php-fpm php-cli php-dba php-embedded php-gd php-common php-bcmatch php-enchant php-devel
2、启动php-fpm服务
systemctl start php-fpm
systemctl enablephp-fpm
3、验证php服务已经安装成功并启动了php-fpm服务
输入php -v
如果安装成功,会显示版本信息
输入 netstat -nulpt | grep php-fpm
如果启动php-fpm服务成功,会显示监听在9000端口
二、Nginx环境
1、安装nginx环境
我的机器中已经有了nginx环境,因此这里不介绍nginx环境的安装,应该yum install nginx
就行
2、拷贝ntunnel_sqlite.php文件到Linux机器中
ntunnel_sqlite.php文件位置:
在Navicat安装位置中可以找到ntunnel_sqlite.php文件,其他两个类似文件是支持MySQL和pgsql的
这里以拷贝到/nano
文件夹为例,拷贝进去以后我直接给了个777权限
3、配置nginx服务
vim /etc/nginx/conf.d/shar.conf
server {
listen 8011 default_server ;
client_max_body_size 10240M;
server_name _;
server_tokens off;
add_header X-Frame-Options SAMEORIGIN;
location / {
root /nano ;
}
location ~ \.php$ {
root /nano;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
配置文件说明:监听8011端口,访问以.php结束的文件会走fastcgi服务,这个就是解析php,代理到之前启动的php-fpm服务,端口就是9000,不太懂php,简单理解就是这样子了
然后重启nginx服务即可,如果是新安装的nginx服务,直接启动就可以了
重启nginx服务 nginx -s reload
或者启动nginx服务 systemctl startnginx
nginx的配置比较简单,就粗略写了一下
三、验证http服务已经搭好
1、验证搭建完成
完成了一和二就搭建玩了http服务,现在去验证一下,直接访问 http://172.17.130.40:8011/ntunnel_sqlite.php (换自己的IP)
出现下面就代表搭建成功了
2、验证可以连接sqlite
在Database File框中输入服务器上sqlite的地址,注意是相对于ntunnel_sqlite.php文件所在位置的路径,点击Test Connection测试
出现Connection Success!就表示连接成功了,接下来就可以去Navicat里连接了,失败情况我也没遇到,就没有错误列举了。
四、Navicat使用http方式远程连接sqlite
1、创建sqlite连接面板
2、填写连接名和第三步一样的相对路径
3、添加http路径,也是第三部的路径
4、测试连接
参考:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示