首页 程序笔记 在 CentOS 7/Fedora 上安装 Microsoft SQL Server 2019

在 CentOS 7/Fedora 上安装 Microsoft SQL Server 2019

从 SQL Server 2017 开始,SQL Server 在 Linux 上运行。此 SQL Server 与在 Microsoft 操作系统上运行的 SQL Server 数据库引擎相同,具有许多相似的功能和服务。

本指南将引导您完成在 CentOS 7 上安装 Microsoft SQL Server 2019 的步骤 | Fedora Linux 系统。截至撰写本文时,SQL Server 2019 可在 Ubuntu/CentOS 和 RHEL Linux 上用于生产。

步骤 1:安装 Microsoft SQL Server 2019

Microsoft SQL Server 2019 可供一般用途使用。通过在终端上运行以下命令将存储库添加到 CentOS 7/Fedora。

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

更新系统缓存:

### CentOS 7 ###
sudo yum makecache

### Fedora ###
sudo dnf makecache

然后在 CentOS 7 上安装 SQL Server 2019:

sudo yum install -y mssql-server

对于Fedora,您还可以使用dnf命令;

sudo dnf install -y mssql-server

要获取有关已安装软件包的信息,请运行:

$ rpm -qi mssql-server
Name        : mssql-server
Version     : 15.0.4335.1
Release     : 6
Architecture: x86_64
Install Date: Wed 15 Nov 2023 03:21:33 AM UTC
Group       : Unspecified
Size        : 1178854823
License     : Commercial
Signature   : RSA/SHA256, Tue 26 Sep 2023 05:07:19 AM UTC, Key ID eb3e94adbe1229cf
Source RPM  : mssql-server-15.0.4335.1-6.src.rpm
Build Date  : Tue 26 Sep 2023 04:45:39 AM UTC
Build Host  : fbeb82b6c000000.wmnfyjkxcpjenncm3o2wmpgvnd.phxx.internal.cloudapp.net
Summary     : Microsoft SQL Server Relational Database Engine
...

第 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 - 开发人员(免费,无生产使用权)。

Details about editions can be found at
https://go.microsoft.com/fwlink/?LinkId=2109348

Use of PAID editions of this software requires separate licensing through a
Microsoft Volume Licensing program.
By choosing a PAID edition, you are verifying that you have the appropriate
number of licenses in place to install and run this software.

Enter your edition(1-8): 2

2. 接受许可条款

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

3. 设置 SQL Server 系统管理员密码

Enter the SQL Server system administrator password: <ENTER-STRONG-PASSWORD>
Confirm the SQL Server system administrator password: <Confirm Password>
Configuring SQL Server...

ForceFlush is enabled for this instance.
ForceFlush feature is enabled for log durability.
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /usr/lib/systemd/system/mssql-server.service.
Setup has completed successfully. SQL Server is now starting.

步骤 3:安装 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

安装期间按照指示接受许可条款:

The license terms for this product can be downloaded from
https://aka.ms/odbc17eula and found in
/usr/share/doc/msodbcsql17/LICENSE.txt . By entering 'YES',
you indicate that you accept the license terms.

Do you accept the license terms? (Enter YES or NO)
YES
  Installing : msodbcsql17-17.9.1.1-1.x86_64                                                                                                                                                      2/4
The license terms for this product can be downloaded from
http://go.microsoft.com/fwlink/?LinkId=746949 and found in
/usr/share/doc/mssql-tools/LICENSE.txt . By entering 'YES',
you indicate that you accept the license terms.

Do you accept the license terms? (Enter YES or NO)
YES

第 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

第 4 步:测试 SQL Server

连接到 SQL Server 并验证其是否正常工作。

$ sqlcmd -S localhost -U SA
Password: <INPUT-PASSWORD-SET-IN-STEP-2>

使用步骤 2 中设置的密码进行身份验证。

显示数据库用户:

1> select name from sysusers;
2> go
name
--------------------------------------------------------------------------------------------------------------------------------
##MS_AgentSigningCertificate##
##MS_PolicyEventProcessingLogin##
db_accessadmin
db_backupoperator
db_datareader
db_datawriter
db_ddladmin
db_denydatareader
db_denydatawriter
db_owner
db_securityadmin
dbo
guest
INFORMATION_SCHEMA
public
sys

(16 rows affected)

创建测试数据库:

# 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 mytestDB;
2> go

对于其他 Linux 发行版,请查看以下指南:

  • 如何在 Ubuntu 上安装 MS SQL
  • 如何在 RHEL/CentOS 8 上安装 Microsoft SQL Server

3

站心网

从 SQL Server 2017 开始,SQL Server 在 Linux 上运行。此 SQL Server 与在 Microsoft 操作系统上运行的 S..

为您推荐

微软官方Microsoft.Extensions.AI库使用示例

Microsoft.Extensions.AI 库介绍Microsoft.Extensions.AI 是一个扩展库,用于在 .NET 应用程序中轻松集成人工智能(AI)服务,例如 OpenAI、Azure OpenAI 和其他支持文本生成或语言模型的 API。通过与 Microsoft.Ext..

最新CentOS7安装搭建shadowsocks服务端+客户端使用图文教程

使用的CentOS版本是7.9,其他版本也可以。超级推荐的是搭建shadowsocks服务端,安装配置都很简单,几分钟就搞定,客户端支持PC移动端,下面是安装shadowsocks的过程,只要复制粘贴命令就行了,文件夹路径都不需要改..

sourcetree安装跳过注册方法

SourceTree下载提取码: ni9m 需翻墙或者破解注册当前只有Win的版本,Mac自行百度很多人用git命令行不熟练,那么可以尝试使用sourcetree进行操作。然鹅~~sourcetree又一个比较严肃的问题就是,很多人不会跳过注册或者..

SQL Server EF使用Sequence全局自增ID

在使用 Entity Framework (EF) 时,如果需要在 SQL Server 中实现一个 全局自增 ID,可以通过以下方法来实现。全局自增 ID 的需求通常是为了在多表之间实现唯一性递增 ID。实现方式 1:使用 SQL Server 的 SequenceS..

SQL Server用UUID做主键性能问题和解决方案

在 SQL Server 中使用 UUID(全称:Universally Unique Identifier) 作为主键确实可能带来一些性能问题,特别是在大型数据库和高写入负载的场景下。以下是一些关键的性能挑战及其原因:1. 无序插入导致索引碎片化UU..

修改VisualSVN Server地址为ip地址,修改svn服务端地址为ip或者域名地址的方法

svn服务端搭建成功之后,地址太长很麻烦,想搞一个服务器专门做svn服务端,修改svn地址为ip地址无奈网上教程不靠谱,于是自己研究了下1.修改VisualSVN 的地址2修改地址并保存很多人不成功就在这里,点击确认之后复制..

.NET 9 即将推出的功能Task.WhenEach

.NET 爱好者!我刚刚偶然发现了一个非常酷的新 PR,它被合并到 .NET 运行时存储库中,我想分享一个例子。希望您能为新的 .NET 版本大肆宣传!在即将到来的 .NET 9 版本中,我们预计会有一个名为 .它在这里让您的异步..

针对 Go 语言开发的 SQL 驱动模拟库

数据库交互是几乎所有应用程序不可或缺的一部分,开发者们常常需要对数据库进行各种操作,包括插入、更新、删除和查询等。然而,在开发过程中直接对真实数据库进行操作不仅耗时耗力,还可能带来数据一致性和安全性的..

DockerUI 中文可视化Docker管理工具使用示例

DockerUI 是由国内开发者打造的一款优秀的 Docker 可视化管理工具。该工具拥有简洁直观的UI界面,可以轻松进行Docker主机管理、集群管理,以及Docker任务的编排等操作。DockerUI不仅展示了资源利用率、系统信息和更..

Blazor的N种渲染模式原理和常见问题说明

我们从下面这幅图开始,下图显示了三种渲染模式,分别称之为静态SSR、交互式SSR(即之前的BlazorServer)、交互式CSR(即之前的BlazorWasm)。还有一种渲染模式BlazorHybrid,稍后说。一、先浅层理解一个图例静态SSR:经..

前端CSS常见的三种设计模式

CSS设计模式主要包括OOCSS、SMACSS和BEMCSS等。以下是对这些模式的具体介绍:OOCSS:面向对象的CSS,旨在编写高可复用、低耦合和高扩展的CSS代码。它将抽象(结构)和实现(样式)分离,抽离公共代码,以提高代码的..

WinToUSB | 把Windows塞进U盘里即插即用

不论是在外出差,还是在家临时办公,现在很多设备携带起来都不是那么方便,在这种情况下,有一个轻巧而高效的操作系统环境就显得格外关键。今天,要给大家介绍一款超级实用的便携式系统启动盘,凭借其独特功能和卓越..

.NET Framework被淘汰了吗?

.NET Framework并未完全被淘汰,但它的某些版本确实已经停止支持。微软在2023年11月10日停止了对.NET Framework 4.8之前的版本的支持。这一决策意味着使用这些旧版本的应用程序将不再获得安全更新和其他维护,从而可..

强大的 .NET Mock 框架 单元测试模拟库Moq使用教程

单元测试是确保代码质量和可靠性的重要手段。当我们的代码依赖于外部系统、数据库或第三方服务时,编写有效的单元测试可能会变得复杂且耗时。为了简化这一过程,模拟(Mocking)技术应运而生。在 .NET 生态系统中,M..

CLS 问题:超过 0.1(桌面设备) 是什么意思?

在网页设计和开发中,CLS(Cumulative Layout Shift)是指页面布局的累计偏移量。当一个用户与页面互动时,如果页面的某些元素突然改变位置或大小,导致整个布局发生偏移,就会产生布局偏移。这种偏移可能会影响用户..

Angular UT 模拟执行setTimeout

在 Angular 单元测试中,我们经常需要模拟异步操作,比如 setTimeout。提高测试速度: 真实环境下的 setTimeout 会阻塞测试,导致测试运行时间过长。确保测试的可靠性: 模拟 setTimeout 可以让我们更好地控制异步操..

JavaScript 的 sessionStorage 能否加锁?

直接给 sessionStorage 加锁是不可能的。sessionStorage 的本质: sessionStorage 是浏览器提供的一种用于在当前浏览器会话中存储数据的机制。它存储在客户端,数据仅在当前浏览器窗口或标签页中有效。加锁的必要性..

Redis 同步、击穿、穿透及雪崩简述

对Redis最常见的几个问题,简要的说下我的理解与解决方法。数据同步指Redis做为缓存,在数据变化时,怎么保持与数据库数据同步的。一般解决方案为:缓存双删(同步方案大都采用删除缓存,而不会更新新缓存。缓存击穿..

Vue 3.5引入新特性 还有与SSR相关的改进

Vue 3.5引入了响应式属性解构、useTemplateRef方法、useId实用函数、内部响应性重构等新特性。以下是具体介绍:响应式属性解构此功能允许开发者在defineProps宏中解构属性而不会失去响应性,这为组件间的属性传递提..

Asp.Net Core进程内托管 和 进程外托管的区别

在ASP.NET Core中,托管模型决定了应用程序如何运行及其与Web服务器交互的方式。主要有两种托管模式:进程内托管(In-Process Hosting)和进程外托管(Out-of-Process Hosting)。每种模式都有其独特的优势和适用场..

发表回复

返回顶部