• 当前位置: 首 页 > 教育百科 > 学历/技能 > 正文

    上下五千年最齐全、最完整、最牛的sqlserver在linux环境上安装实操

    :2025年02月28日
    数据库技术加油站

    sqlserver 2017支持在Linux上安装,推荐在redhat7.7之后、suselinuxv12(sp3-sp5)或者v15(sp1-sp3)、Ubuntu 18.04 3 或 20.04安装。

    作者简介:王旭,在数据库管理方面拥有10多年经验。精通主流数据库系统,在企业数据库管理、性能优化、架构设计和高可用性能解决方案方面拥有丰富得实践经验。目前拥有(ORACLE ACE、MYSQL OCP、PG ACE、PGCA、PGCE、PGCM)等数据库认证。

    参考:https://learn.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-linux-ver15&preserve-view=true&tabs=rhel8

    第一、介绍sqlserver支持在linux支持安装的版本信息

    ** sqlserver 2017(首次支持)、2019、2022,也就是说从2017开始后面都支持在linux上安装。具体在哪些linux能够安装呢?redhat7.7之后、suselinuxv12(sp3-sp5)或者v15(sp1-sp3)、Ubuntu 18.04 3 或 20.04;

    ** sqlserver2017安装包版本号为14.x,sqlserver2019安装包版本号为15.x,sqlserver2022安装包版本号为16.x.

    第二、sqlserver支持在linux安装方式介绍

    ###在线安装

    ** 要求网络联通

    1、下载 SQL Server 2019 (15.x) Red Hat 存储库配置文件:

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo

    2、运行以下命令以安装 SQL Server:

    sudo yum install -y mssql-server

    3、包安装完成后,使用其完整路径运行 mssql-conf setup,按照提示设置 SA 密码并选择版本。 作为提醒,以下 SQL Server 版本是免费提供许可的:Evaluation、Developer 和 Express 版。

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

    注意:请记住为 SA 帐户指定强密码。 需要最小长度为 8 个字符,包括大写和小写字母、十进制数字和/或非字母数字符号。

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

    systemctl status mssql-server

    5、防火墙允许端口

    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent

    sudo firewall-cmd --reload

    ###离线安装

    1、下载地址

    https://packages.microsoft.com/rhel/7/mssql-server-2017/Packages/m/

    https://packages.microsoft.com/rhel/7/mssql-server-2019/Packages/m/

    https://packages.microsoft.com/rhel/8/mssql-server-2019/Packages/m/

    ![](https://files.mdnice.com/user/82842/df090b26-912e-4eeb-a577-29870f79b8f6.png)

    2、上传到服务器安装

    [root@pg1 soft]# yum -y install mssql-server-15.0.4375.4-1.x86_64.rpm

    注意:安装后会创建一个服务,后面初始化后会从这个服务再创建一个软连接

    [root@ol71 soft]# ll /usr/lib/systemd/system/mssql-server.service

    -rw-r--r--. 1 root root 655 6月 11 2024 /usr/lib/systemd/system/mssql-server.service

    第三、sqlserver初始化方式介绍

    ###交互式初始化

    所谓交互式初始化就是安装了上述软件后,执行mssql-conf setup,然后根据提示选择初始化的版本、安装的语言、以及设置sqlserver sa管理员的密码。提示一步做一步。该操作最大的败笔就是不能自定义数据文件路径。

    [root@pg1 soft]# sudo /opt/mssql/bin/mssql-conf setup

    选择 SQL Server 的一个版本:

    1) Evaluation (免费,无生产许可,180 天限制)

    2) Developer (免费,无生产许可)

    3) Express (免费)

    4) Web (付费版)

    5) Standard (付费版)

    6) Enterprise (付费版) - CPU 核心利用率限制为 20 个物理/40 个超线程

    7) Enterprise Core (付费版) - CPU 核心利用率达到操作系统最大值

    8) 我通过零售渠道购买了许可证并具有要输入的产品密钥。

    可在以下位置找到有关版本的详细信息:

    https://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x804

    使用此软件的付费版本需要通过以下途径获取单独授权

    Microsoft 批量许可计划。

    选择付费版本即表示你具有适用的

    要安装和运行此软件的就地许可证数量。

    输入版本(1-8): 8 ,然后输入注册码

    可以在以下位置找到此产品的许可条款:

    /usr/share/doc/mssql-server 或从以下位置下载:

    https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x804

    可以从以下位置查看隐私声明:

    https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x804

    接受此许可条款吗? [Yes/No]:yes

    选择 SQL Server 的语言:

    (1) English

    (2) Deutsch

    (3) Español

    (4) Français

    (5) Italiano

    (6) 日本語

    (7) 한국어

    (8) Português

    (9) Руѝѝкий

    (10) 中文 – 简体

    (11) 中文 (繝体)

    输入选项 1-11:10

    输入 SQL Server 系统管理员密码:

    指定的密码不符合 SQL Server 密码策略要求,因为该密码太短。密码必须至少为 8 个字符

    输入 SQL Server 系统管理员密码: 123qwe,./

    确认 SQL Server 系统管理员密码: 123qwe,./

    正在配置 SQL Server...

    已成功处理授权 PID。新版本为 [Enterprise Edition: Core-based Licensing]。

    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.

    安装程序已成功完成。SQL Server 正在启动。

    ###非交互式初始化

    静默安装,把参数全部写好,然后一键执行;好处就是灵活,自己想怎么来就怎么来。

    关于参数设置,参考:

    --关于环境变量设置

    https://learn.microsoft.com/zh-cn/sql/linux/sql-server-linux-configure-environment-variables?view=sql-server-ver15

    操作步骤:

    --创建以上的目录;

    rm -f /var/opt/mssql/mssql.conf

    rm -fr /sqlserverdata/

    mkdir -p /sqlserverdata/logs

    mkdir -p /sqlserverdata/dump

    mkdir -p /sqlserverdata/backup

    mkdir -p /sqlserverdata/udata

    mkdir -p /sqlserverdata/masterdb/

    sudo chown -R mssql.mssql /sqlserverdata/

    sudo ACCEPT_EULA='Y' MSSQL_SA_PASSWORD='123qwe,./' MSSQL_PID='2C9JR-K3RNG-QD4M4-JQ2HR-8468J' MSSQL_LCID='2052' MSSQL_COLLATION='Chinese_PRC_CI_AS' MSSQL_MEMORY_LIMIT_MB='2048' MSSQL_TCP_PORT='1433' MSSQL_IP_ADDRESS='192.168.133.97' MSSQL_BACKUP_DIR='/sqlserverdata/backup' MSSQL_DATA_DIR='/sqlserverdata/udata' MSSQL_LOG_DIR='/sqlserverdata/udata' MSSQL_DUMP_DIR='/sqlserverdata/dump' MSSQL_MASTER_DATA_FILE='/sqlserverdata/masterdb/master.mdf' MSSQL_MASTER_LOG_FILE='/sqlserverdata/masterdb/mastlog.ldf' MSSQL_ERROR_LOG_FILE='/sqlserverdata/logs/errorlog' MSSQL_AGENT_ENABLED='true' /opt/mssql/bin/mssql-conf setup

    -n就是不提示,不加就是显示下面的到终端屏幕

    第四,初始化完成后确认

    [root@ol71 masterdb]# ps -ef|grep mssql

    mssql 11946 1 0 02:37 ? 00:00:00 /opt/mssql/bin/sqlservr

    mssql 11970 11946 1 02:37 ? 00:00:21 /opt/mssql/bin/sqlservr

    root 12482 3023 0 02:56 pts/1 00:00:00 grep --color=auto mssql

    [root@ol71 masterdb]# ss -lnt|grep 1433

    LISTEN 0 128 192.168.133.97:1433 *:*

    [root@ol71 masterdb]# sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent

    [root@ol71 masterdb]# sudo firewall-cmd --reload

    --按照上面的初始化完成后,数据全部在/sqlserverdata/下

    SELECT * from sys.master_files;

    第五,安装 SQL Server 命令行工具

    安装 SQL Server 命令行工具

    https://learn.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup-tools?view=sql-server-linux-ver15&tabs=redhat-install

    若要创建数据库,则需要使用可在 SQL Server 上运行 Transact-SQL 语句的工具进行连接。 按照以下步骤安装 SQL Server 命令行工具:sqlcmd 实用工具 和 bcp 实用工具。

    • sqlcmd:命令行查询实用工具。

    • bcp:批量导入-导出实用工具。

    方法1,在线安装

    1.下载 Microsoft Red Hat 存储库配置文件。

    对于 Red Hat 9,请使用以下命令:

    curl https://packages.microsoft.com/config/rhel/9/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo

    对于 Red Hat 8,请使用以下命令:

    curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo

    对于 Red Hat 7,请使用以下命令:

    curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo

    2.如果安装了早期版本的 mssql-tools,请删除所有旧的 unixODBC 包。

    sudo yum remove mssql-tools unixODBC-utf16 unixODBC-utf16-devel

    3.运行以下命令,以使用 unixODBC 开发人员包安装 mssql-tools18。

    sudo yum install -y mssql-tools18 unixODBC-devel

    若要将 mssql-tools 更新至最新版本,请运行以下命令:

    sudo yum check-update

    sudo yum update mssql-tools18

    4.可选:向 bash shell 中的 PATH 环境变量添加 /opt/mssql-tools18/bin/。

    若要使 sqlcmd 和 bcp 能从登录会话的 bash shell 进行访问,请使用下列命令修改 ~/.bash_profile 文件中的 PATH:

    echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile

    source ~/.bash_profile

    若要使 sqlcmd 和 bcp 能从交互式/非登录会话的 bash shell 进行访问,请使用下列命令修改 ~/.bashrc 文件中的 PATH:

    echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc

    source ~/.bashrc

    方法2,脱机安装

    如果 Linux 计算机不能访问之前部分中使用的在线存储库,则可以直接下载包文件。 这些包位于 Microsoft 存储库中,地址为 https://packages.microsoft.com。

    1.首先,找到并复制适用于你的 Linux 分发版的 mssql-tools18 包。 对于 Red Hat 8.0,此包位于 https://packages.microsoft.com/rhel/8/prod。

    2.此外,找到并复制 msodbcsql18 包,它是一个依赖项。 msodbcsql18 包在 unixODBC-devel 上还有一个依赖项。 对于 Red Hat,msodbcsql18 包位于https://packages.microsoft.com/rhel/8/prod。

    3.将下载的包移至 Linux 计算机。 如果使用了不同的计算机下载包,则可以通过“scp”命令将包移至你的 Linux 计算机。

    4.安装包:安装 mssql-tools18 和 msodbc18 包。 如果遇到任何依赖项错误,请忽略,直到出现下一步操作。 将 <version> 替换为正确的版本:

    sudo yum localinstall msodbcsql18-<version>.rpm

    sudo yum localinstall mssql-tools18-<version>.rpm

    5.解决缺少依赖项的问题:此时可能会出现缺少依赖项的情况。 如果没有,可以跳过此步骤。 在某些情况下,必须手动查找并安装这些依赖项。

    安装示例:

    [root@ol71 soft]# yum -y install msodbcsql18-18.4.1.1-1.x86_64.rpm

    [root@ol71 soft]# yum -y install mssql-tools18-18.4.1.1-1.x86_64.rpm

    echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc

    source ~/.bashrc

    [root@ol71 soft]# sqlcmd -S 192.168.133.97,1433 -U sa -Q "select @@version" -C

    Password:

    第六,安装 SQL Server 命令行工具后测试

    [root@ol71 soft]# sqlcmd -S 192.168.133.97,1433 -U sa -Q "select @@version" -C

    Password:

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Microsoft SQL Server 2019 (RTM-CU27) (KB5037331) - 15.0.4375.4 (X64)

    Jun 10 2024 18:00:07

    Copyright (C) 2019 Microsoft Corporation

    Standard Edition (64-bit) on Linux (Oracle Linux Server 7.9) <X64>

    (1 rows affected)

    [root@ol71 logs]# sqlcmd -S 192.168.133.97,1433 -U sa -C

    CREATE DATABASE TestDB;

    SELECT Name from sys.databases;

    前两个命令没有立即执行。 必须在新行中键入 GO 才能执行以前的命令:

    go

    USE TestDB;

    CREATE TABLE dbo.Inventory (

    id INT,

    name NVARCHAR(50),

    quantity INT,

    PRIMARY KEY (id)

    );

    INSERT INTO dbo.Inventory VALUES (1, 'banana', 150);

    INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);

    go

    SELECT * FROM dbo.Inventory

    WHERE quantity > 152;

    go

    QUIT

    第七、总结

    1、linux安装sqlserver生成使用的不多,我所有的操作全部是按照官网的文档摸索过来,对于全中文来说,这一点还是比较好。

    2、sqlserver安装分两步:

    1)yum -y install mssql-server-15.0.4375.4-1.x86_64.rpm ,该步简单理解就是将软件可执行文件生成到/opt/mssql/目录下;然后生成一个自动启动sqlserver的原始服务/usr/lib/systemd/system/mssql-server.service

    2)执行mssql-conf setup配置后,产生/var/opt/mssql/data/目录,/var/opt/mssql/mssql.conf配置文件目录,同时根据/usr/lib/systemd/system/mssql-server.service创建一个软连接到/etc/systemd/system/multi-user.target.wants/mssql-server.service;

    3、总体来讲还是比较简单,了解了安装就知道怎么卸载了。卸载实例和卸载软件或者只删除实例重新初始化就太简单了。

    后续将持续分享,欢迎关注~

    原文来源:https://mp.weixin.qq.com/s/V3wDdZj-xeO87RzakicJuQ

    [编辑:宋聪乔 &发表于江苏]
    [我要纠错]

    来源:本文内容搜集或转自各大网络平台,并已注明来源、出处,如果转载侵犯您的版权或非授权发布,请联系小编,我们会及时审核处理。
    声明:江苏教育黄页对文中观点保持中立,对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,不对文章观点负责,仅作分享之用,文章版权及插图属于原作者。

    关键词: 作者 简介 王旭 数据库 管理
    有价值
    0
    无价值
    0
    猜您喜欢
    最热文章

    暂不支持手机端,请登录电脑端访问

    正在加载验证码......

    请先完成验证