Navicat使用HTTP通道连接MySQL(远程mysql3306端口关闭或者只允许localhost链接状态)...

简介: Navicat使用HTTP通道连接MySQL(远程mysql3306端口关闭或者只允许localhost链接状态)...

1.在线上环境的服务器,一般都是关闭了数据库外网访问的权限,这时候外网就不能直接连接数据库了,需要在服务器内才能操作数据库。但Navicat软件提供了HTTP通道代理连接数据库功能,只要服务器上有HTTP服务,并且端口开放了,就可以使用HTTP通道来连接数据库。

基本原理

2.数据库端口没开放外网访问的时候,Navicat在外网无法访问数据库。

服务器上运行着PHP,并且我们是可以访问到PHP的。

PHP可以连接MySQL数据库并执行SQL语句,因为它们都在内网和PHP支持MySQL。

3.虽然Navicat无法连接上MySQL,但是Navicat对数据库所有的查询可以让PHP代为查询,然后把结果返回给Navicat。

所以把一个php脚本放到服务器上,就可以让Navicat间接连接数据库,对数据库进行操作了。

上传PHP脚本

4.Navicat软件自带三个php代理脚本,它在Navicat安装目录下,分别是:ntunnel_mysql.php ntunnel_pgsql.php ntunnel_sqlite.php

这里主要讲MySQL,所以用到的是ntunnel_mysql.php脚本,其他数据库基本同理。

15.png

5.将ntunnel_mysql.php上传到服务器,并测试能否通过浏览器访问到

Navicat连接设置

16.png

6.在新建或者编辑连接的时候,选项卡里面都会有一个HTTP,切换到HTTP选项卡。

然后勾选使用HTTP通道,通道网址处输入ntunnel_mysql.php的网址。

17.png

7.建议勾选上用base64编码传出查询,不然有可能出现700 Invalid response: 500错误。

这个错误主要出现在获取数据库列表和表结构的时候出现,服务器有使用防护软件,也有可能是它捣的鬼。

8.然后在常规选项卡里,设置好端口、用户名、密码,主机输入127.0.0.1或者对应的内网IP。

简单来说就是服务器上项目配置里的数据库连接配置怎么设置的,这里就怎么设置,因为是用php来代替连接数据库

测试连接

9.最后,测试下连接。如果有错误,按照错误信息修改下对应的配置即可。

18.png

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
关系型数据库 MySQL 网络安全
如何在宝塔mysql修改掉3306端口
在宝塔面板管理MySQL时,默认使用3306端口。为提升安全或避免冲突,可修改端口。步骤如下:1. 登录宝塔面板;2. 进入数据库管理;3. 找到并编辑my.cnf配置文件,修改`port`值;4. 保存并重启MySQL服务;5. 开放防火墙新端口;6. 测试连接。具体命令和流程图详见正文。
1646 1
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
738 11
|
关系型数据库 MySQL Linux
Linux下mysql数据库的导入与导出以及查看端口
本文详细介绍了在Linux下如何导入和导出MySQL数据库,以及查看MySQL运行端口的方法。通过这些操作,用户可以轻松进行数据库的备份与恢复,以及确认MySQL服务的运行状态和端口。掌握这些技能,对于日常数据库管理和维护非常重要。
733 8
|
安全 网络协议 算法
HTTPS为什么可以穿越NAT端口映射设备
HTTPS能穿越NAT端口映射设备的原因在于,NAT设备仅在IP和端口层面进行地址转换,不对应用层协议(如TLS)的内容进行解析或干预。因此,HTTPS的加密通信可在客户端与服务器间直接建立,NAT设备充当透明中介,确保数据包正确路由,而不涉及加密或认证过程。这样即使没有在NAT设备上配置证书,HTTPS连接也能顺利建立并保持安全。
566 6
|
SQL 关系型数据库 MySQL
mysql密码错误-ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor:yes)
这篇文章提供了解决MySQL数据库"Access denied for user 'root'@'localhost' (using password: YES)"错误的方法,通过跳过密码验证、修改root密码,然后重启服务来解决登录问题。
mysql密码错误-ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor:yes)
|
SQL 存储 小程序
【教程】navicat配合HTTP通道远程连接SQLite数据库
本文介绍了如何通过 Navicat Premium 工具配合 n_tunnel_sqlite.php 和 HTTP 通道远程连接服务器上的 SQLite 数据库。SQLite 是一种自给自足的、无服务器的 SQL 数据库引擎,由于其端口未对外开放,直接使用 Navicat 进行远程连接不可行。文章详细记录了使用 HTTP 通道实现远程连接的过程,包括定位本地 `ntunnel_sqlite.php` 文件,将其上传至服务器,并通过 Navicat 配置 HTTP 通道连接 SQLite 数据库的具体步骤。
1952 0
【教程】navicat配合HTTP通道远程连接SQLite数据库
|
安全 关系型数据库 MySQL
【Python】已解决:pymysql.err.OperationalError:(2003 “Can’t connect to MySQL server on ‘localhost’ ([WinEr
【Python】已解决:pymysql.err.OperationalError:(2003 “Can’t connect to MySQL server on ‘localhost’ ([WinEr
2737 1
|
监控 安全 网络协议
深入理解HTTPS及其默认端口
【8月更文挑战第24天】
7674 0
|
关系型数据库 MySQL Java
软件开发2003 -Can·t to MySQL server on ‘xxxxxx‘(10038),宝塔初始化安装mysql,远程链接MySql注意事项,开始时服务器是没有放开端口的,宝塔也都开
软件开发2003 -Can·t to MySQL server on ‘xxxxxx‘(10038),宝塔初始化安装mysql,远程链接MySql注意事项,开始时服务器是没有放开端口的,宝塔也都开
|
关系型数据库 MySQL 数据库连接
Cant‘t connect to MySQL server on ‘localhost‘ (10038)
Cant‘t connect to MySQL server on ‘localhost‘ (10038)

热门文章

最新文章

推荐镜像

更多