首页 > 数据库 >Navicat使用HTTP通道连接远程服务器的SQLite文件(包含服务端搭建http服务)

Navicat使用HTTP通道连接远程服务器的SQLite文件(包含服务端搭建http服务)

时间:2022-08-23 15:13:39浏览次数:96  
标签:SQLite http sqlite Navicat nginx HTTP php 连接

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端口

image-20220823143130860

二、Nginx环境

1、安装nginx环境

我的机器中已经有了nginx环境,因此这里不介绍nginx环境的安装,应该yum install nginx就行

2、拷贝ntunnel_sqlite.php文件到Linux机器中

ntunnel_sqlite.php文件位置:

在Navicat安装位置中可以找到ntunnel_sqlite.php文件,其他两个类似文件是支持MySQL和pgsql的

image-20220823102309787

这里以拷贝到/nano文件夹为例,拷贝进去以后我直接给了个777权限

image-20220823144256832

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)

出现下面就代表搭建成功了

image-20220823145145325

2、验证可以连接sqlite

在Database File框中输入服务器上sqlite的地址,注意是相对于ntunnel_sqlite.php文件所在位置的路径,点击Test Connection测试

image-20220823145538099

出现Connection Success!就表示连接成功了,接下来就可以去Navicat里连接了,失败情况我也没遇到,就没有错误列举了。

四、Navicat使用http方式远程连接sqlite

1、创建sqlite连接面板

image-20220823145906290

2、填写连接名和第三步一样的相对路径

image-20220823145821881

3、添加http路径,也是第三部的路径

image-20220823145731552

4、测试连接

image-20220823150105160

参考:

Navicat使用HTTP通道连接远程服务器的SQLite文件(下一朵云)

Navicat使用HTTP通道远程连接SQLite

CentOS7系统中php安装配置

标签:SQLite,http,sqlite,Navicat,nginx,HTTP,php,连接
From: https://www.cnblogs.com/rainbow-tan/p/16616224.html

相关文章

  • HTTP cookie
    Asessioncookie,alsoknownasanin-memorycookie,transientcookieornon-persistentcookie,existsonlyintemporarymemorywhiletheusernavigatesthewe......
  • HTTPS 一定是安全的吗?
    大家好,我是小林。上周有位读者在面字节时被问道这么一个问题:HTTPS一定安全可靠吗?这个问题的场景是这样的:客户端通过浏览器向服务端发起HTTPS请求时,被「假基站」转发到......
  • django.core.exceptions.ImproperlyConfigured: SQLite 3.9.0 or later is required (
    一、问题运行django报错,但我并未使用这个sql服务django.core.exceptions.ImproperlyConfigured:SQLite3.9.0orlaterisrequired(found3.6.20).二、解决将sett......
  • HTTP协议
    二、HTTP协议1.HTTP协议概述HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类......
  • 面试题:如何保证HTTP接口的安全性
    首先应该考虑使用https协议,因为http协议是不安全的,一般来说购买服务器的时候厂商都会送免费的https的ssl证书,只需要在nginx配置就可以了。接口应该开启加密,分为对称加密......
  • 关于使用Git不能拉取GitLab https项目地址的问题
    现在使用Git命令直接clonehttps://xxx项目时候会报错“没有权限拉取代码”,其实我们需要在“UserSettings ---》AccessTokens“界面新增一个 accesstoken就好了,......
  • https ssl
    Java爬虫(八)--httpClient进阶:HTTPS和证书认证(原理总结篇)《==》 字节一面:HTTPS一定安全可靠吗?  根据这两篇文章总结:客户端拿到服务端的CA证书之后,产生对称密钥的......
  • Apache HttpClient 5 使用详细教程
    点赞再看,动力无限。微信搜「程序猿阿朗」。本文Github.com/niumoo/JavaNotes和未读代码博客已经收录,有很多知识点和系列文章。超文本传输协议(HTTP)可能是当今......
  • http发送get/post请求,普通传参
    http请求工具类,需引用合适的jarimportorg.apache.http.HttpEntity;importorg.apache.http.client.ClientProtocolException;importorg.apache.http.client.methods......
  • http发送get/post调用,传参为json对象
    1.http请求工具类importcom.alibaba.fastjson.JSONObject;importorg.springframework.http.*;importorg.springframework.http.converter.StringHttpMessageConver......