龙空技术网

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

雪竹聊技术 1903

前言:

如今我们对“centossql”大体比较着重,各位老铁们都需要学习一些“centossql”的相关文章。那么小编同时在网络上收集了一些有关“centossql””的相关内容,希望咱们能喜欢,咱们一起来了解一下吧!

概述

我们知道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 

这会将 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-serverName        : mssql-serverVersion     : 15.0.4178.1Release     : 3Architecture: x86_64Install Date: Fri 29 Oct 2021 02:15:59 PM CSTGroup       : UnspecifiedSize        : 1213647503License     : CommercialSignature   : RSA/SHA256, Wed 29 Sep 2021 01:09:50 AM CST, Key ID eb3e94adbe1229cfSource RPM  : mssql-server-15.0.4178.1-3.src.rpmBuild Date  : Tue 28 Sep 2021 01:50:37 PM CSTBuild Host  : hls-build-pipeline-ub2-prod-build-cent73-02Relocations : (not relocatable)Summary     : Microsoft SQL Server Relational Database EngineDescription :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: privacy statement can be viewed at: 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 ERRORLOGin /var/opt/mssql/log for more information.
step3:安装 SQL Server 命令行工具

然后使用 unixODBC 开发包安装 mssql-tools。

sudo curl -o /etc/yum.repos.d/msprod.repo  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 --permanentsudo  firewall-cmd --reload
Step 4:测试 SQL Server

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

$ sqlcmd -S localhost -U SA

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

显示数据库用户:

1> select name from sysusers;2> go
创建测试数据库:
# Create newCREATE DATABASE mytestDBSELECT Name from sys.DatabasesGOUSE mytestDBCREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);GOSELECT * 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  [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,能带给你不一样的体验。

标签: #centossql