如何在Centos上安装SQL Server数据库并通过内网穿透工具实现远程访问

目录

前言

推荐

[1. 安装sql server](#1. 安装sql server)

[2. 局域网测试连接](#2. 局域网测试连接)

[3. 安装cpolar内网穿透](#3. 安装cpolar内网穿透)

[4. 将sqlserver映射到公网](#4. 将sqlserver映射到公网)

[5. 公网远程连接](#5. 公网远程连接)

6.固定连接公网地址

7.使用固定公网地址连接


前言

简单几步实现在Linux centos环境下安装部署sql server数据库,并结合cpolar内网穿透工具,创建安全隧道将其映射到公网上,获取公网地址,实现在外异地远程连接家里/公司的sqlserver数据库,而无需公网IP,无需设置路由器,亦无需云服务器。

推荐

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

1. 安装sql server

下载 SQL Server 2022 (16.x) Red Hat 存储库配置文件:

sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo

运行以下命令以安装 SQL Server:

sudo yum install -y mssql-server

然后等待安装完成

包安装完成后,使用其完整路径运行 mssql-conf setup,按照提示设置 SA 密码并选择版本。

sudo /opt/mssql/bin/mssql-conf setup

前面三个版本是免费提供许可的:Evaluation、Developer 和 Express 版,我们选择第二个作为测试使用

然后同意一下许可条款,输入yes

选择中文语言

然后设置管理员密码,把密码记住,不要忘了

然后安装完成,会自动启动

完成配置后,验证服务是否正在运行:

systemctl status mssql-server

默认的 SQL Server 端口为1433,TCP协议。 如果为防火墙使用的是FirewallD,则可以使用以下命令:

sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent

设置完重启防火墙

sudo firewall-cmd --reload

此时,安装完成了。

注意:如果需要使用命令行连接,在安装sqlserver的时候就需要安装sql server命令行工具,可以参考官方教程:RHEL:在 Linux 上安装 SQL Server - SQL Server | Microsoft Learn

2. 局域网测试连接

由于我没有安装命令行工具,所以我们使用图形化工具连接,这边使用navicat进行测试连接,输入局域网ip地址,输入用户名sa,密码上面设置的密码,点击测试连接出现连接成功

点击数据库,勾选默认的数据库,

登陆后即可看到默认表信息

3. 安装cpolar内网穿透

上面步骤里,我们在本地Linux安装了sql server 数据库并且局域网测试ok。

接下来我们安装cpolar内网穿透工具,通过cpolar的tcp公网地址,我们可以很容易实现远程访问sql server,而无需自己注册域名购买云服务器。cpolar它支持http/https/tcp/tls/ftp协议,使用不限制流量,支持永久免费使用。

cpolar官网:cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里:

cpolar authtoken xxxxxxx
  • 向系统添加服务

    sudo systemctl enable cpolar

  • 启动cpolar服务

    sudo systemctl start cpolar

4. 将sqlserver映射到公网

成功启动cpolar服务后,我们在浏览器上访问cpolar web UI管理界面:Linux局域网ip地址+9200端口,使用cpolar邮箱账号登录(如果你还没注册账号的话,在cpolar官网注册一个)

登录成功后,点击左侧仪表盘的隧道管理------创建隧道,创建一个tcp协议的隧道指向sql server的1433端口:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复
  • 协议:tcp
  • 本地地址:1433
  • 域名类型:免费选择随机域名
  • 地区:选择China VIP

点击创建

然后打开在线隧道列表,查看并且复制tcp协议的公网地址。【注意无需复制tcp://

5. 公网远程连接

打开navicat或者其他连接工具,输入上面我们使用cpolar内网穿透工具所获取的公网地址,以及sqlserver用户名密码,点击测试连接,出现连接成功表示成功。

需要注意:公网地址中的冒号(:)需改为逗号(,)

6.固定连接公网地址

由于以上步骤使用的是随机临时tcp端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。我们接下来为其配置固定的TCP端口地址,该地址不会变化,设置后将无需每天重复修改地址,同时提高带宽速度。

配置固定tcp端口地址需要将cpolar升级到专业版套餐或以上。

  • 保留一个固定tcp地址

登录cpolar官网后台,点击左侧的预留,找到保留的tcp地址,我们来为远程sqlserver保留一个固定的tcp地址:

  • 地区:选择China vip
  • 描述:即备注,可自定义

点击保留

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来

  • 配置固定tcp地址

在浏览器上登录cpolar web UI管理界面,Linux局域网ip地址+:9200端口

点击左侧仪表盘的隧道管理------隧道列表,找到我们上面创建的远程sqlserver隧道,点击右侧的编辑

修改隧道信息,将保留成功的固定tcp地址配置到隧道中

  • 端口类型:修改为固定tcp端口
  • 预留的tcp地址:填写官网保留成功的地址

点击更新

隧道更新成功后,点击左侧仪表盘的状态------在线隧道列表,可以看到公网地址已经更新成为了固定tcp地址。

7.使用固定公网地址连接

打开navicat连接工具,输入官网保留的固定tcp地址,点击测试连接,提示连接成功。

需要注意,公网地址后面端口的冒号(:)需改为逗号(,)

现在这个公网地址不会再随机变化了,只要保持隧道正常在线,我们在外就可以通过这个固定公网地址来远程连接局域网的sqlserver数据库。

相关推荐
hummhumm4 分钟前
Oracle 第29章:Oracle数据库未来展望
java·开发语言·数据库·python·sql·oracle·database
迷茫运维路11 分钟前
Jenkins声明式Pipeline流水线语法示例
运维·pipeline·jenkins·声明式
Zfox_28 分钟前
【Linux】进程信号全攻略(二)
linux·运维·c语言·c++
速盾cdn28 分钟前
速盾:vue的cdn是干嘛的?
服务器·前端·网络
gavin_gxh29 分钟前
ORACLE 删除archivelog日志
数据库·oracle
一叶飘零_sweeeet32 分钟前
MongoDB 基础与应用
数据库·mongodb
安於宿命33 分钟前
【Linux】简易版shell
linux·运维·服务器
丶Darling.36 分钟前
MIT 6.S081 Lab1: Xv6 and Unix utilities翻译
服务器·unix·lab·mit 6.s081·英文翻译中文
追梦不止~40 分钟前
Docker常用命令+详解
运维·docker·容器
黑龙江亿林等保43 分钟前
深入探索哈尔滨二级等保下的负载均衡SLB及其核心算法
运维·算法·负载均衡