
mysql是一款开源主流较多个人和企业使用的数据库产品,它主要用于存储、管理和检索数据,对用户的数据进行存储管理。MySQL数据库是一种开源的关系型数据库管理系统,常用于存储和管理大量结构化数据。通过外网访问MySQL数据库可以实现远程数据查询和操作,方便多地点或者跨网络的用户使用。
MySQL数据库允许外网访问指的是将MySQL数据库服务器配置为可以从互联网上的其他计算机进行访问。这通常涉及到配置MySQL的网络设置,MySQL配置文件以及可能的网络访问控制。当内网服务器部署好mysql数据库后,外网如何安全的访问数据库进行增删改查,是运维人员经常会遇到的一个问题。内网数据库开放公网连接的过程,涉及SQL本身用户权限配置,以及一些网络技术手段打通内外网互通,让内网数据库应用端口在外地也能访问到。

下面将从数据库设置,到无公网IP用nat123端口映射外网访问的通用教程详细步骤,及最后附多种内网让外网连接方法,一文让所有人搞定所有环境下的内网SQL给外网连接,不管你是网络人员还是普通非技术人员,都可以轻松学会。
1、配置数据库服务器:在MySQL数据库服务器上进行一些配置,以允许外部访问。这通常包括修改MySQL的配置文件(如my.cnf或my.ini)并启用外部连接。
2、配置防火墙:确保数据库服务器的防火墙允许外部访问MySQL的端口(默认为3306)。添加入站规则,允许来自外部IP地址的TCP连接。
3、配置MySQL用户权限:在数据库服务器上创建一个允许从外部访问的用户,并授予该用户适当的权限。建议使用有限的权限,以减少潜在的安全风险。
4、局域网内连接测试:在mysql数据库内网的另台电脑上,用mysql客户端或命令等方式,测试连接mysql服务。
在面对无公网IP需要提供公网访问的这种需求,较为通用便捷的解决这群就是用软件映射来实现,如我们可以采用nat123内网映射公网方案,实现mysql 外网连接访问。操作步骤:
1、下载客户端并安装
打开对应官网,在自己的内网SQL服务器上(或所在局域网内另台互通主机上)下载一个nat123软件客户端,安装非常简单只需要一步下一步执行即可,如涉及目录的建议安装在D盘或其他非系统盘上避免硬盘权限问题。
2、注册账号并登录
安装完后,在nat123客户端点击注册按钮,或直接在对应官网的注册链接页面,在注册页面注册一个账号,自定义帐号名称密码和邮箱信息获取属于自己帐号,并进行登录客户端。
3、添加映射设置
登录nat123客户端后,在软件界面默认映射列表下,点击“添加映射”,弹出来的对话框中,进行配置mysql映射信息。涉及内外网等重要信息参考:
映射名称:自定义;
映射类型:SQL应用外网直接连接的推荐选择其他非网站类型;
内网地址:就是您mysql服务器的内网IP,本机用的填写127.0.0.1表示;
内网端口:就是您mysql本地开启通信的端口默认是3306,以实际使用端口填写;
外网端口:默认生成一个端口号外网连接用,一般不用改,也可修改其他未占用的;
外网地址:默认生成一个随机二级域名,一般为了方便使用记住可自定义对应二级字符;如有自主域名,则可以修改使用自己注册的域名来作为公网地址用;
确认保存添加成功后,界面上就为您生成提供了一个映射记录图标,同时有显示对应刚设置好的内外网访问地址,这个外网域名端口地址是用来外网人员访问这个本地mysql数据库的地址。
4、外网访问内网中的mysql
您做完以上配置后,外网就可以通过域名端口访问的地址访问您的mysql了。外网人员电脑安装Navicat数据库连接工具,点击文件 、 新建 、mysql,连接名称自定义,主机填写mysql 服务器上nat123映射设置好外网域名地址,端口写外网端口号,输入数据库服务器的用户名和密码即可登录。登录成功后即可看到mysql 中的数据表了,如果你有类似应用需求可以尝试使用nat123实现远程连接mysql。

1、使用内网映射工具
如上面分享本教程的nat123端口映射方式,这是一种通用的不需要公网IP下,内网开放公网访问方案。
2、使用SSH隧道
通过SSH协议建立安全加密的隧道连接到数据库服务器,并通过该隧道进行访问。这可以增加访问安全性。
3、使用VPN
使用虚拟私有网络(VPN)技术建立安全的加密连接,使外部设备可以安全地访问数据库服务器。
4、使用反向代理
通过设置反向代理服务器,将外部请求转发到数据库服务器。这可以增加访问控制和安全性。
5、使用云平台的数据库服务
许多云计算平台提供托管的数据库服务,如腾讯云的云数据库MySQL,可以简化数据库的配置和管理,并提供外网访问功能。
需要注意的是,为了保证数据库的安全性,外网访问MySQL数据库应该谨慎进行并且采取相应的安全措施,如限制访问IP、使用一定强度的密码,特定用户帐号权限等,以防止潜在的攻击和数据泄露。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。