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


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

    前言

    简单几步实现在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
    
    • 1

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

    sudo yum install -y mssql-server
    
    • 1

    然后等待安装完成

    image-20230418133937641

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

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

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

    image-20230418134248124

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

    image-20230418134351933

    选择中文语言

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

    image-20230418134542902

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

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

    systemctl status mssql-server
    
    • 1

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

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

    设置完重启防火墙

    sudo firewall-cmd --reload
    
    • 1

    此时,安装完成了。

    注意:如果需要使用命令行连接,在安装sqlserver的时候就需要安装sql server命令行工具,可以参考官方教程:https://learn.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-ver16

    2. 局域网测试连接

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

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

    image-20230418141543515

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

    image-20230418141621762

    3. 安装cpolar内网穿透

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

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

    cpolar官网:https://www.cpolar.com/

    • 使用一键脚本安装命令
    curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
    
    • 1
    • token认证

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

    cpolar authtoken xxxxxxx
    
    • 1

    20230206171248

    • 向系统添加服务
    sudo systemctl enable cpolar
    
    • 1
    • 启动cpolar服务
    sudo systemctl start cpolar
    
    • 1

    4. 将sqlserver映射到公网

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

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

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

    点击创建

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

    image-20230418144336674

    5. 公网远程连接

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

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

    image-20230418144828933

    6.固定连接公网地址

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

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

    • 保留一个固定tcp地址

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

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

    点击保留

    image-20230418145833394

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

    image-20230418151401097

    • 配置固定tcp地址

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

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

    image-20230418151434081

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

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

    点击更新

    image-20230418151510331

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

    image-20230418151535219

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

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

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

    image-20230418152150422

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

  • 相关阅读:
    四年级上册思维导图怎么绘制?简单漂亮绘制方法分享
    SPA项目之主页面--Mock.js以及组件通信(总线)的运用
    SystemV共享内存
    LeetCode-1619. 删除某些元素后的数组均值【数组,排序】
    将 Vue.js 项目部署至静态网站托管,并开启 Gzip 压缩
    Lumiprobe 细胞成像研究丨PKH26细胞膜标记试剂盒
    Java版分布式微服务云开发架构 Spring Cloud+Spring Boot+Mybatis 电子招标采购系统功能清单
    黑马旅游网_项目学习_1_orcle数据库建表
    收藏 | C语言最常用的贪心算法
    springboot系列(八):mybatis-plus之条件构造器使用手册|超级详细,建议收藏
  • 原文地址:https://blog.csdn.net/bushibrnxiaohaij/article/details/134317286