当前位置: 首页 > news >正文

使用linux CentOS本地部署SQL Server数据库

在这里插入图片描述
🌈个人主页:聆风吟
🔥系列专栏:数据结构、Cpolar杂谈
🔖少年有梦不应止于心动,更要付诸行动。


文章目录

  • 📋前言
  • 一. 安装sql server
  • 二. 局域网测试连接
  • 三. 安装cpolar内网穿透
  • 四. 将sqlserver映射到公网
  • 五. 公网远程连接
  • 六.固定连接公网地址
  • 七.使用固定公网地址连接
  • 📝结语

📋前言

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

一. 安装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

然后等待安装完成

image-20230418133937641

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

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

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

image-20230418134248124

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

image-20230418134351933

选择中文语言

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

image-20230418134542902

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

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

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命令行工具,可以参考官方教程:https://learn.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-ver16



二. 局域网测试连接

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

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

image-20230418141543515

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

image-20230418141621762



三. 安装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
  • token认证

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

cpolar authtoken xxxxxxx

20230206171248

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


四. 将sqlserver映射到公网

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

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

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

点击创建

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

image-20230418144336674



五. 公网远程连接

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

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

image-20230418144828933



六.固定连接公网地址

由于以上步骤使用的是随机临时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



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

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

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

image-20230418152150422

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



📝结语

     今天的干货分享到这里就结束啦!如果觉得文章还可以的话,希望能给个三连支持一下,聆风吟的主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是作者前进的最大动力!
在这里插入图片描述

相关文章:

使用linux CentOS本地部署SQL Server数据库

🌈个人主页:聆风吟 🔥系列专栏:数据结构、Cpolar杂谈 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. 安装sql server二. 局域网测试连接三. 安装cpolar内网穿透四. 将sqlserver映射…...

理解基于 Hadoop 生态的大数据技术架构

转眼间,一年又悄然而逝,时光荏苒,岁月如梭。当回首这段光阴,不禁感叹时间的匆匆,仿佛只是一个眨眼的瞬间,一年的旅程已成为过去,而如今又到了画饼的时刻了 ! 基于 Hadoop 生态的大数…...

【Go】Go语言基础内容

变量声明: 变量声明:在Go中,变量必须先声明然后再使用。声明变量使用 var 关键字,后面跟着变量名和类型,如下所示: var age int这行代码声明了一个名为 age 的整数变量。 变量初始化:您可以在声…...

HP-UNIX 系统安全基线 安全加固操作

目录 账号管理、认证授权 账号 ELK-HP-UX-01-01-01 ELK -HP-UX-01-01-02 ELK -HP-UX-01-01-03 ​​​​​​​ ELK-HP-UX-01-01-04 ​​​​​​​ELK-HP-UX-01-01-05 ​​​​​​​口令 ELK-HP-UX-01-02-01 ​​​​​​​ ELK-HP-UX-01-02-02 ​​​​​​​ ELK-HP…...

第九天:信息打点-CDN绕过篇amp;漏洞回链amp;接口探针amp;全网扫描amp;反向邮件

信息打点-CDN绕过篇 cdn绕过文章:https://www.cnblogs.com/qiudabai/p/9763739.html 一、CDN-知识点 1、常见访问过程 1、没有CDN情况下传统访问:用户访问域名-解析服务器IP–>访问目标主机 2.普通CDN:用户访问域名–>CDN节点–>…...

【利用二手车数据进行可视化分析】

利用二手车数据进行可视化分析 查看原始数据去除重复数据需求分析1.统计全国总共有多少量二手车,用KPI图进行展示2.统计安徽总共有多少量二手车,用KPI图进行展示3.统计合肥总共有多少量二手车,用KPI图进行展示4.取最贵的10辆二手车信息&#…...

快速测试 3节点的redis sentinel集群宕机2个节点以后是否仍能正常使用

有同事问我,三个redis sentinel节点,宕机两个节点以后,是否还能够正常的通过redis sentinel正常访问redis的数据。我想了想,理论上是可以的,但是我没试过,今天有时间就测试了一下。搭建环境和测试代码的过程…...

echarts词云图echarts-wordcloud使用方法

1、echarts5.0以下的版本使用 echarts-wordcloud 1.0 的词云 1. 安装 wordCloud 1.0 依赖包npm install echarts-wordcloud12. man.js 注入import echarts-wordcloud 2、echarts5.0及以上的下载 echarts-wordcloud 2.0 版本 注意:npm install echarts-wordcloud …...

二叉树的OJ练习(二)

通过前序遍历数组构建二叉树 题目:通过前序遍历的数组(ABD##E#H##CF##G##)构建二叉树 TreeNode* TreeCreat(char* a,int* pi) {if(a[*pi] #){(*pi);return NULL; }TreeNode* root (TreeNode*)malloc(sizeof(TreeNode));if(root NULL){p…...

uni-app 微信小程序之自定义navigationBar顶部导航栏

文章目录 1. 实现效果2. App.vue3. pages.json 配置自定义4. 顶部导航栏 使用 微信小程序自定义 navigationBar 顶部导航栏,兼容适配所有机型 1. 实现效果 2. App.vue 在App.vue 中,设置获取的 StatusBar,CustomBar 高度(实现适配…...

前端入门:HTML初级指南,网页的简单实现!

代码部分&#xff1a; <!DOCTYPE html> <!-- 上方为DOCTYPE声明&#xff0c;指定文档类型为HTML --> <html lang"en"> <!-- html标签为整个页面的根元素 --> <head> <!-- title标签用于定义文档标题 --> <title>初始HT…...

低多边形3D建模石头材质纹理贴图

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时&#xff0c;有几种不同的风格&#xf…...

【华为OD题库-081】最长的元音子串长度-Java

题目 题目描述: 定义当一个字符串只有元音字母一(a,e,i,o,u,A,E,l,O,U)组成&#xff0c; 称为元音字符串&#xff0c;现给定一个字符串&#xff0c;请找出其中最长的元音字符串&#xff0c;并返回其长度&#xff0c;如果找不到请返回0&#xff0c; 字符串中任意一个连续字符组成…...

第9节:Vue3 指令

如何在UniApp中使用Vue3的指令&#xff1a; <template> <view> <!-- 使用指令 --> <text v-show"isVisible" click"toggleVisibility">点击隐藏/显示</text> <button v-on:click"incrementCount">点击…...

B028-JDBC基础

目录 什么是JDBCJDBC引入持久化JDBC规范 使用JDBC完成CRUDJDBC创建表JDBC CRUD和优化 DAO层的实现 什么是JDBC JDBC引入 Java代码操作数据库的唯一技术&#xff1a;-- JDBC ( java database connection ) 持久化 持久化(persistence)&#xff1a;把数据保存到可掉电式存储设…...

ngixn 准备

确认yum可用&#xff0c;确认防火墙&#xff0c;确认SELinux 一项安装 yum -y install gcc make automake pcre-devel zlib zlib-devel openssl openssl-devel参数&#xff1a; gcc&#xff1a;编译依赖gcc环境 pcre&#xff1a;PCRE(Perl Compatible Regular Expressions)是一…...

生活小记录

上个月项目总算上线了&#xff0c;节奏也慢慢调整正常。发现自己好久没有记录生活点滴了&#xff0c;正好写写。其实&#xff0c;最近这段日子发生的事情还是挺多的。 流感 媳妇11.24得流感&#xff0c;这件事情特别好笑&#xff0c;大晚上她和我妹妹想喝酒试试&#xff0c;结…...

Diary22-全网最全的CSS3.0讲解

CSS学习 1.认识CSS 1.1什么是CSS CSS&#xff1a;Cascading Style Sheet——层叠级联样式表 CSS&#xff1a;表现&#xff08;美化网页&#xff09; 字体&#xff1b;颜色&#xff1b;边距&#xff1b;高度&#xff1b;宽度&#xff1b;背景图片&#xff1b;网页定位&…...

LAMP和分离式LNMP部署

目录 一.什么是LAMP&#xff1f; 二.安装LAMP 先安装apache&#xff0c;httpd网页服务&#xff1a; 接着安装mysql&#xff1a; 安装php&#xff1a; 创建论坛&#xff1a; 三.安装分布式LNMP&#xff1a; 先安装nginx&#xff1a; 到另一台主机安装php&#xff1a; …...

基于Java房屋租赁管理系统

基于Java房屋租赁管理系统 功能需求 1、房源信息管理&#xff1a;系统需要能够记录和管理所有房源的详细信息&#xff0c;包括房屋地址、房屋面积、租金、付款方式、房屋类型等。管理员应该可以添加、编辑和删除房源信息。 2、租户信息管理&#xff1a;系统需要能够记录和管…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent

安全大模型训练计划&#xff1a;基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标&#xff1a;为安全大模型创建高质量、去偏、符合伦理的训练数据集&#xff0c;涵盖安全相关任务&#xff08;如有害内容检测、隐私保护、道德推理等&#xff09;。 1.1 数据收集 描…...