百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

SQLSERVER也能部署在linux环境?SQLServer2019在CENTOS7部署详解

gudong366 2025-03-26 11:11 8 浏览

概述

我们知道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
  1. 选择你要使用的版本
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(免费)。

  1. 接受许可条款
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
  1. 设置 SQL Server 系统管理员密码
Enter the SQL Server system administrator password: 
Confirm the SQL Server system administrator 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,能带给你不一样的体验。

相关推荐

梦幻诛仙12职业1亿元宝版本架设教程(包含资源下载)

架设教程:1;上传脚本zx到bin文件夹,给权限chmod-R777/bin2;输入zx安装宝塔面板输入对应序号,中途输入Y继续3;安装好之后,会给个宝塔地址及账号密码,复制地址...

Java零基础入门,科普Java你应该了解什么

最近很多人问我想学Java但是一点基础没有,网上看了一堆学习线路图还是无从下手。今天耗时3小时整理了一套保姆级的Java入门教程,建议收藏按照线路图一点点学习。一、Java的概况Java是1995年6...

01.Java发展历史(java发展历史简要)

1.Java发展历史Java由SunMicrosystems公司(现为Oracle公司)的JamesGosling及其团队在1991年开发,最初命名为"Oak",后改名为"...

Ubuntu16.04.1安装Java8(ubuntu终端安装java)

上篇文章讲解了怎么在Windows下安装Java8《Windows10安装Java8》,这里讲解下怎么在Linux下安装Java。由于之前已经安装了Ubuntu16.04.1《VmwareWorkst...

性能测试能力提升-JVM GC监控和优化

一、背景接着上一篇的知识:性能测试能力提升-JVMGC原理,本篇文章,我们将主要介绍JVMGC监控和优化相关的知识:命令行方式监控GC图形化方式监控GC什么时候需要开始GC优化?GC优化的目的GC...

Spring Boot Jar 包秒变 Docker 镜像实现多环境部署

你是否在互联网大厂后端开发工作中,遇到过这样的困扰?当完成一个SpringBoot项目开发,准备将Jar包部署到不同环境时,却发现各个环境依赖不同、配置复杂,部署过程繁琐又容易出错,不仅耗费...

「JDK 11」关于 Java 模块系统,看这一篇就够了

继2014年3月Java8发布之后,时隔4年,2018年9月,Java11如期发布,其间间隔了Java9和Java10两个非LTS(LongTermSupp...

对Java学习的10条建议(对java的认识和理解)

不少Java的初学者一开始都是信心满满准备迎接挑战,但是经过一段时间的学习之后,多少都会碰到各种挫败,以下北风网就总结一些对于初学者非常有用的建议,希望能够给他们解决现实中的问题。Java编程的准备:...

JAVA入门教程-第1章 概述(java入门指南)

大道至简-JAVA入门教程在本教程中,你将学习Java语言的基础知识。Java基础内容涵盖:Java基础概念、Java词法结构、Java数组、Java流程控制、Java字符串、Java...

推荐一款Java音频视频编码器,很赞

Jave2是什么JAVE2(Java音频视频编码器)库是ffmpeg项目上的Java包装器。开发人员可以利用JAVE2将音频和视频文件从一种格式转码为另一种格式。在示例中,您可以将AVI文件转换为MP...

【JAVA教程】JAVA入门及开发环境安装

一、Java开发环境概述Java开发需要三个核心组件:JDK(JavaDevelopmentKit)-Java开发工具包,开发、编译、调试Java程序JRE(JavaRuntimeE...

Windows和Linux环境下的JDK安装教程

JavaDevelopmentKit(简称JDK),是Java开发的核心工具包,提供了Java应用程序的编译、运行和开发所需的各类工具和类库。它包括了JRE(JavaRuntimeEnviro...

记Tomcat优化方案(tomcat优化的几种方法)

Tomcat服务吞吐量评估方案问题:评估方案在一台8核16G的linux服务器上,使用tomcat容器部署服务。在正常情况下如何评估这个tomcat服务可处理的连接数,即服务的吞吐量,请在正常情况下考...

JVM GC诡异问题排查,k8s差点害死我……

前言本文将通过一个真实的生产环境案例,详细展示如何系统性地排查和解决JVM垃圾收集问题。这个案例涵盖了从问题发现、分析诊断到最终解决的完整过程,对于理解JVM调优实战具有重要的参考价值。系统背景我们的...

Thorium Reader - 功能强大的跨平台免费电子书阅读器

在日常阅读日益普及的今天,选择一款合适的电子书阅读器至关重要。ThoriumReader作为一款独具特色的阅读应用,正逐渐在众多同类产品中崭露头角,为用户带来了卓越的阅读体验。  跨平台的便捷性...