SQLSERVER也能部署在linux环境?SQLServer2019在CENTOS7部署详解
ahcoder 2025-06-13 10:48 3 浏览
概述
我们知道SQL Server是微软公司推出的重要的数据库产品,通常情况下只支持部署在windows平台上。不过令人感到兴奋的是,从SQL Server 2017开始支持 linux系统。此 SQL Server 版本与运行在 Microsoft 操作系统上的 SQL Server 数据库引擎相同,具有许多相似的功能和服务。下面分享一下CentOS 7 上安装 Microsoft SQL Server 2019 的步骤。
安装过程
Step1: 在 CentOS 7 上安装 Microsoft SQL Server 2019
- 添加SQL Server 2019 镜像仓库
Microsoft SQL Server 2019 可供一般用途使用。通过在终端上运行以下命令,将存储库添加到 CentOS 7。
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo
这会将 SQL Server 2019 存储库下载到
/etc/yum.repos.d/mssql-server.repo
- 更新你的系统缓存
sudo yum makecache # CentOS 7
- 安装SQL Server 2019
sudo yum install -y mssql-server
要获取有关已安装软件包的信息,请运行:
[root@test ~]# rpm -qi mssql-server
Name : mssql-server
Version : 15.0.4178.1
Release : 3
Architecture: x86_64
Install Date: Fri 29 Oct 2021 02:15:59 PM CST
Group : Unspecified
Size : 1213647503
License : Commercial
Signature : RSA/SHA256, Wed 29 Sep 2021 01:09:50 AM CST, Key ID eb3e94adbe1229cf
Source RPM : mssql-server-15.0.4178.1-3.src.rpm
Build Date : Tue 28 Sep 2021 01:50:37 PM CST
Build Host : hls-build-pipeline-ub2-prod-build-cent73-02
Relocations : (not relocatable)
Summary : Microsoft SQL Server Relational Database Engine
Description :
The mssql-server package contains the Microsoft SQL Server Relational Database Engine.
Step 2:初始化 MS SQL 数据库引擎
软件包安装完成后,运行 mssql-conf setup 并按照提示设置 SA 密码并选择您的版本。
sudo /opt/mssql/bin/mssql-conf setup
- 选择你要使用的版本
Choose an edition of SQL Server:
1) Evaluation (free, no production use rights, 180-day limit)
2) Developer (free, no production use rights)
3) Express (free)
4) Web (PAID)
5) Standard (PAID)
6) Enterprise (PAID)
7) Enterprise Core (PAID)
8) I bought a license through a retail sales channel and have a product key to enter.
我会选择 2 – Developer(免费)。
- 接受许可条款
The license terms for this product can be found in
/usr/share/doc/mssql-server or downloaded from:
https://go.microsoft.com/fwlink/?LinkId=855862&clcid=0x409
The privacy statement can be viewed at:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409
Do you accept the license terms? [Yes/No]:Yes
- 设置 SQL Server 系统管理员密码
Enter the SQL Server system administrator password: <Password>
Confirm the SQL Server system administrator password:<Confirm Password>
Configuring SQL Server...
sqlservr: This program requires a machine with at least 2000 megabytes of memory.
/opt/mssql/bin/sqlservr: This program requires a machine with at least 2000 megabytes of memory.
Initial setup of Microsoft SQL Server failed. Please consult the ERRORLOG
in /var/opt/mssql/log for more information.
step3:安装 SQL Server 命令行工具
然后使用 unixODBC 开发包安装 mssql-tools。
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
sudo yum -y install mssql-tools unixODBC-devel
step 4:启动并启用 mssql-server 服务
启动 mssql-server 服务
sudo systemctl start mssql-server
设置系统启动时自动启动
sudo systemctl enable mssql-server
添加/opt/mssql/bin/ 到您的 $PATH 变量:
echo 'export PATH=$PATH:/opt/mssql/bin:/opt/mssql-tools/bin' | sudo tee /etc/profile.d/mssql.sh
获取文件以在当前 shell 会话中开始使用 MS SQL 可执行二进制文件
source /etc/profile.d/mssql.sh
如果您有活动的 Firewalld 服务,请允许远程主机的 SQL Server 端口连接:
sudo firewall-cmd --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
Step 4:测试 SQL Server
连接到 SQL Server 并验证它是否正常工作。
$ sqlcmd -S localhost -U SA
使用步骤 2 中设置的密码进行身份验证。
- 显示数据库用户:
1> select name from sysusers;
2> go
- 创建测试数据库:
# Create new
CREATE DATABASE mytestDB
SELECT Name from sys.Databases
GO
USE mytestDB
CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
GO
SELECT * FROM Inventory LIMIT 1;
- 显示 SQL Server 上的数据库。
1> select name,database_id from sys.databases;
2> go
- 删除数据库:
1> drop database testDB;
2> go
部署管理工具 Azure Data Studio
[root@test ~]# cd /usr/local/src
[root@test src]# wget https://azuredatastudiobuilds.blob.core.windows.net/releases/1.13.0/azuredatastudio-linux-1.13.0.tar.gz
[root@test src]# tar -xvf ./azuredatastudio-linux-1.13.0.tar.gz -C /usr/local
[root@test src]# cd ../
[root@test local]# echo 'export PATH="$PATH:/usr/local/azuredatastudio-linux-x64"' >> ~/.bashrc
[root@test local]# source ~/.bashrc
# 启动图形化数据库操作界面
[root@test local]# azuredatastudio
# 配置非root用户使用
[root@test local]# exit
[gjp@test local]# echo 'export PATH="$PATH:/usr/local/azuredatastudio-linux-x64"' >> ~/.bashrc
[test@test local]# source ~/.bashrc
# 此处需要安装 libXScrnSaver 依赖 否则会报找不到 libgtk-3.so.0
[root@test local]# yum install libXScrnSaver
# 注意 此处使用的是图形化安装的CentOS7
[test@test local]# azuredatastudio
# windows访问时记得关闭防火墙
[root@test ~]# systemctl stop firewalld
[root@test ~]# systemctl disable firewalld
总结
如果你厌倦了在windows上部署SQLSERVER,也许你可以尝试在linux平台上部署,linux平台上SQLSERVER,能带给你不一样的体验。
相关推荐
- linux服务器--PVE(一)简介及安装(pve安装ifupdown2)
-
1.PVE(ProxmoxVirtualEnvironment)简介ProxmoxVirtualEnvironment基于debian,是一个完整的、开源的企业虚拟化服务器管理平台。它在一个平...
- 手把手教你!如何在 Linux 服务器中搭建 Sentinel 环境?
-
你在Linux服务器上搭建Sentinel环境时,是不是也遇到过各种报错,要么是启动失败,要么是配置后无法正常访问控制台?看着同事顺利搭建好,自己却一头雾水,别提多着急了!其实,很多互联网大厂...
- Linux高性能服务器技术总结(linux高性能服务器编程怎么样)
-
1服务器简介服务器是提供计算服务的设备,由于服务器需要响应用户请求,因此在处理能力、稳定性、安全性、可扩展性、可管理性等方面提出了较高要求。随着虚拟化技术的进步,云服务器(ECS)已经快速的在...
- 从 0 到 1:使用 Ansible 自动化运维 Linux 服务器全流程
-
Ansible是一款强大的IT自动化工具,广泛用于服务器配置管理、软件部署和任务自动化。本文将带你从零开始,学习如何使用Ansible对Linux服务器进行自动化运维,涵盖Ansibl...
- 诡异!Win11 “此电脑” 莫名现 Linux 图标,啥情况?
-
我这电脑出了个怪事儿,“此电脑”下面莫名其妙多了个Linux的图标,可我压根儿就没装过Linux系统啊!琢磨了一下,估计是系统可选功能里那个“适用于Linux的Windows子系统”插件搞的鬼。实例系...
- Linux基础运维篇:Linux 终端与 Shell 基础(第006课)
-
一、啥是终端?先搞懂「人和电脑对话的窗口」你可以把终端(Terminal)理解成一个「文字版的电脑操作台」。在Windows里,类似「命令提示符」或PowerShell;在Linux里,...
- 2025罗技大师系列智「简」大赛-罗技大师系列-MX KEYS S键盘评测
-
在2025罗技大师系列智「简」大赛中,MXKEYSS键盘凭借其卓越的设计与智能化体验,成为众多创作者的理想之选。本篇文章将深入评测这款键盘的核心功能、使用体验及创新亮点,帮助你了解它如何提升...
- Linux编辑命令vim(linux使用vim编辑文件)
-
1、vi编辑器简介vim是一个全屏幕纯文本编辑器,是vi编辑器的增强版,我们主要讲解的是vim编辑器。可以利用别名让输入vi命令的时候,实际上执行vim编辑器,例如:#定义别名...
- 全选是ctrl加什么?全选的快捷键是什么介绍
-
如何高效使用「全选」快捷键(Ctrl+A/A)提升工作效率在日常电脑操作中,"全选"是最基础却至关重要的功能之一。无论您是文字工作者、程序员还是普通用户,掌握全选快捷键都能极大提升操作...
- Linux命令大全(linux命令大全书)
-
个人博客:https://chunyu.work/文章较长,可以收藏备用常用快捷键(1)ctrl+c:停止进程(2)ctrl+l:清屏(3)善于用tab键(4)上下键:查找执行过的命令文件目录类(...
- Xshell是做什么用的?Xshell使用教程分享
-
Xshell是一款功能强大的终端模拟器,支持SSH1,SSH2,SFTP,TELNET,RLOGIN和SERIAL。通过提供业界先进的性能,Xshell包含了其他SSH客户端无法发现的功能和优势,作为...
- Java 开发者线上问题排查常用的 15 个 Linux 命令
-
作为Java开发者,线上环境的问题排查是日常工作的重要组成部分。熟练掌握Linux命令能大幅提升排查效率,快速定位进程异常、日志错误、性能瓶颈等核心问题。本文结合Java应用特点,整理1...
- Linux的常用命令就是记不住,怎么办?
-
1.帮助命令1.1help命令#语法格式:命令--help#作用:查看某个命令的帮助信息#示例:#ls--help查看ls命令的帮助信息#netst...
- 别再乱学 Linux 了!这 5 个核心技巧,让你效率飙升 10 倍!
-
在Linux学习的漫漫长路上,不少人犹如在黑暗中摸索的行者,四处碰壁,学习效果却不尽如人意。你是不是也曾在海量的Linux知识面前迷失方向,感觉自己投入了大量时间,却收效甚微?其实,掌握Li...
- Linux终端神器Terminator时隔1年回归,2.1.5新版发布
-
IT之家5月23日消息,科技媒体linuxiac今天(5月23日)发布博文,报道称Terminator在沉寂一年后,最新发布了2.1.5版本,在分割终端窗格时支持克隆SSH...
- 一周热门
- 最近发表
-
- linux服务器--PVE(一)简介及安装(pve安装ifupdown2)
- 手把手教你!如何在 Linux 服务器中搭建 Sentinel 环境?
- Linux高性能服务器技术总结(linux高性能服务器编程怎么样)
- 从 0 到 1:使用 Ansible 自动化运维 Linux 服务器全流程
- 诡异!Win11 “此电脑” 莫名现 Linux 图标,啥情况?
- Linux基础运维篇:Linux 终端与 Shell 基础(第006课)
- 2025罗技大师系列智「简」大赛-罗技大师系列-MX KEYS S键盘评测
- Linux编辑命令vim(linux使用vim编辑文件)
- 全选是ctrl加什么?全选的快捷键是什么介绍
- Linux命令大全(linux命令大全书)
- 标签列表
-
- linux 远程 (37)
- u盘 linux (32)
- linux 登录 (34)
- linux 路径 (33)
- linux 文件命令 (35)
- linux 是什么 (35)
- linux 界面 (34)
- 查看文件 linux (35)
- linux 语言 (33)
- linux代码 (32)
- linux 查看命令 (33)
- 关闭linux (34)
- root linux (33)
- 删除文件 linux (35)
- linux 主机 (34)
- linux与 (33)
- linux 函数 (35)
- linux .ssh (35)
- cpu linux (35)
- 查看linux 系统 (32)
- linux 防火墙 (33)
- linux 手机 (32)
- linux 镜像 (34)
- linux ip地址 (34)
- linux 用户查看 (33)