无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 75|回复: 3
打印 上一主题 下一主题

[分享] (分享)linux安装sql server原来更简单

[复制链接]
跳转到指定楼层
1#
发表于 2025-7-17 16:29:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 likeyouli 于 2025-7-18 11:09 编辑

linux 发行版本:oracle linux 9.4, runlevel 3 ,内存4GB,swap虚拟内存4GB,getenforce 禁用。------------------------------------------------------------------------------------------------
第一步:curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/c ... server-preview.repo ,换句话说安装这个版本sql server 。
第二步:yum install -y mssql-server
第三步:/opt/mssql/bin/mssql-conf setup ,选择的这个版本Enterprise Developer (免费,无生产许可)
上述三步就安装完成了,简直不要太简单 ~~~~~~
  验证一下:
[root@192.168.1.132 ~]#systemctl status mssql-server
● mssql-server.service - Microsoft SQL Server Database Engine
     Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; enabled; preset: disabled)
     Active: active (running) since Thu 2025-07-17 15:55:41 CST; 1min 45s ago
       Docs: https://docs.microsoft.com/en-us/sql/linux
   Main PID: 26167 (sqlservr)
      Tasks: 87
     Memory: 712.5M
        CPU: 8.855s
     CGroup: /system.slice/mssql-server.service
             ├─26167 /opt/mssql/bin/sqlservr
             └─26191 /opt/mssql/bin/sqlservr

7月 17 15:55:49 localhost.localdomain sqlservr[26191]: [79B blob data]
7月 17 15:55:49 localhost.localdomain sqlservr[26191]: [108B blob data]
7月 17 15:55:49 localhost.localdomain sqlservr[26191]: [105B blob data]
7月 17 15:55:49 localhost.localdomain sqlservr[26191]: [115B blob data]
7月 17 15:55:49 localhost.localdomain sqlservr[26191]: [112B blob data]
7月 17 15:55:49 localhost.localdomain sqlservr[26191]: [101B blob data]
7月 17 15:55:49 localhost.localdomain sqlservr[26191]: [98B blob data]
7月 17 15:55:49 localhost.localdomain sqlservr[26191]: [120B blob data]
7月 17 15:55:49 localhost.localdomain sqlservr[26191]: [124B blob data]
7月 17 15:55:49 localhost.localdomain sqlservr[26191]: [228B blob data]

也可以这样查询一下:
[root@192.168.1.132 ~]#netstat -tulnp | grep sqlservr
tcp        0      0 0.0.0.0:1433            0.0.0.0:*               LISTEN      26191/sqlservr
tcp        0      0 127.0.0.1:1431          0.0.0.0:*               LISTEN      26191/sqlservr
tcp        0      0 127.0.0.1:1434          0.0.0.0:*               LISTEN      26191/sqlservr
tcp6       0      0 :::1433                 :::*                    LISTEN      26191/sqlservr
tcp6       0      0 ::1:1431                :::*                    LISTEN      26191/sqlservr
tcp6       0      0 ::1:1434                :::*                    LISTEN      26191/sqlservr

安装完成后,从虚拟机上是无法连接的,因为默认没有安装sqlcmd。  安装并导入一个*.mdf数据库文件测试一下
第一步:curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/$(rpm -E %rhel)/prod.repo 必须用这个仓库;
第二步:不用上边的仓库,这步将会提示找不到:yum install -y mssql-tools
第三步:echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc  ,source ~/.bashrc
第四步:sqlcmd -S localhost -U SA -P '安装的时候设置的密码'  
         每次输入完命令后,都得需要输入go才能执行命令,也不知道微软为啥非得这样设计程序.....
[root@192.168.1.132 ~]#sqlcmd -S localhost -U SA -P '密码'
1> SELECT name FROM sys.databases;
2> go
name
--------------------------------------------------------------------------------------------------------------------------------
master
tempdb
model
msdb

(4 rows affected)
1>

再打开一个窗口,拷贝一个mdf文件,拷贝到下边目录下,并chown权限:
第五步:scp "I:\Program Files\Microsoft SQL Server2022\MSSQL16.MSSQLSERVER\MSSQL\DATA\likeyou.mdf" root@192.168.1.132:/var/opt/mssql/data/   ;chown mssql:mssql /var/opt/mssql/data/likeyou.mdf  
第六步:依次输入以下命令:
1> CREATE DATABASE likeyou33 ON
2> PRIMARY (FILENAME = '/var/opt/mssql/data/likeyou.mdf')
3> FOR ATTACH_REBUILD_LOG;
4> go
文件激活失败。物理文件名称'i:\Program Files\Microsoft SQL Server2022\MSSQL16.MSSQLSERVER\MSSQL\DATA\likeyou_log.ldf'可能不正确。
新的日志文件 '/var/opt/mssql/data/likeyou33_log.ldf' 已创建。
正在将数据库 'likeyou33' 从版本 957 转换为当前版本 997。
数据库 'likeyou33' 正在从版本 957 升级到版本 958。
数据库 'likeyou33' 正在从版本 958 升级到版本 963。
数据库 'likeyou33' 正在从版本 963 升级到版本 964。
...

将会生成一个likeyou33数据库,select top 1000 * from dbo.biao  ,将会看到前1000行数据。

也可以连ldf文件一块导入,
1> CREATE DATABASE likeyou32 ON
2> PRIMARY (FILENAME = '/var/opt/mssql/data/111.mdf'),
3> (FILENAME = '/var/opt/mssql/data/111_log.ldf')
4>  FOR ATTACH;
5> go
正在将数据库 'likeyou32' 从版本 904 转换为当前版本 997。
数据库 'likeyou32' 正在从版本 904 升级到版本 905。
数据库 'likeyou32' 正在从版本 905 升级到版本 906。
...

                终结。

看看版本:
1> select @@VERSION;
2> GO
                                                                                                                                                                                                                 
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Microsoft SQL Server 2025 (CTP2.1) - 17.0.800.3 (X64)
        Jun 12 2025 14:47:57
        Copyright (C) 2025 Microsoft Corporation
        Enterprise Developer Edition (64-bit) on Linux (Oracle Linux Server 9.4) <X64>

(1 rows affected)

设置个简单易记的密码,去除密码条件限制:ALTER LOGIN [sa] WITH PASSWORD = '新简单密码', CHECK_POLICY = OFF, CHECK_EXPIRATION = OFF;GO

用到的repo仓库备份一下.rar

1.69 KB, 阅读权限: 60, 下载次数: 1, 下载积分: 无忧币 -2

2#
 楼主| 发表于 2025-7-17 20:50:07 来自手机 | 只看该作者
本帖最后由 likeyouli 于 2025-7-18 08:55 编辑

占楼备用,相关网址:https://learn.microsoft.com/zh-c ... iew=true&tabs=rhel8
进这个网页太慢了,论坛备份一下网页:
[size=1.25em]SQL
  • 概述[size=0.875em]
  • 安装[size=0.875em]
  • 安全[size=0.875em]
  • 开发[size=0.875em]
  • 管理员[size=0.875em]
  • 分析[size=0.875em]
  • 参考[size=0.875em]
  • [size=0.875em]疑难解答
  • 资源[size=0.875em]
[size=0.875]Azure 门户
[size=0.875]下载 SQL Server



此主题的部分內容可能由机器或 AI 翻译。



消除警报



版本SQL Server 2025 Preview on Linux[size=0.75]
搜索[size=0.875]

[size=0.875em]下载 PDF



[size=0.875em]
[size=0.875][size=0.875em]
[size=0.875em][size=0.875em]
[size=0.875][size=0.875em]

[color=rgb(15, 108, 189) !important][size=0.875em]



快速入门:在 Red Hat 上安装 SQL Server 并创建数据库
  • 2025/05/20


适用于:SQL Server - Linux
在本快速入门中,将在 Red Hat Enterprise Linux (RHEL) 9.x 上安装 SQL Server 2025 (17.x) 预览版。 然后可以使用 sqlcmd 进行连接,创建第一个数据库并运行查询。
若要使用 Ansible 自动执行安装,请参阅 快速入门:使用 Ansible playbook 在 Linux 上部署 SQL Server
有关支持的平台的详细信息,请参阅 Linux 上的 SQL Server 2025 预览版发行说明

提示
本教程需要用户输入和 Internet 连接。 如果您对无人值守离线安装过程感兴趣,请参阅 Linux 上 SQL Server 的安装指南。 如果选择在 RHEL 上预安装 SQL Server VM,以便运行基于生产的工作负荷,请遵循创建 SQL Server VM 的 最佳做法

先决条件
必须拥有 RHEL 8.x 计算机(内存至少为 2 GB)。
若要在自己的计算机上安装 Red Hat Enterprise Linux,请转至 https://access.redhat.com/products/red-hat-enterprise-linux/evaluation。 也可以在 Azure 中创建 RHEL 虚拟机。 请参阅 使用 Azure CLI 创建和管理 Linux VM并在对 --image RHEL 的调用中使用 az vm create。
如果以前安装了 SQL Server 的社区技术预览版 (CTP) 或候选发布 (RC) 版本,则必须先删除旧存储库,然后再执行这些步骤。 有关详细信息,请参阅配置存储库以便安装和升级 Linux 上的 SQL Server
有关其他系统要求,请参阅 Linux 上的 SQL Server 的系统要求
若要确保根据建议的标准配置 SQL Server 实例,请参阅 Linux 上的 SQL Server 的性能最佳做法和配置指南

安装 SQL Server
从 RHEL 9 开始,你可以将 SQL Server 作为启用 SELinux 的受限应用程序运行。 有关使用 SELinux 的受限和非受限应用程序的详细信息,请参阅 SELinux 入门
要将 SQL Server 作为受限应用程序运行,请执行以下步骤:
  • 使用本部分后面提到的步骤安装 mssql-server 包。
  • 安装新的 mssql-server-selinux 包。
    [size=0.8]Bash复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    sudo yum install -y mssql-server-selinux
备注
你仍可像以前版本的 RHEL 一样,将 SQL Server 作为非受限应用程序安装并运行。

要在 RHEL 9 上配置 SQL Server,请在终端中运行以下命令以安装 mssql-server 包:
  • 下载 SQL Server 2025 (17.x) 预览版 Red Hat 9 存储库配置文件:
    [size=0.8]Bash复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/c ... server-preview.repo
    提示
    如果要安装不同版本的 SQL Server,请参阅本文的 SQL Server 2017 (14.x)SQL Server 2019 (15.x)SQL Server 2022 (16.x) 版本。

  • 运行以下命令以安装 SQL Server:
    [size=0.8]Bash复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    sudo yum install -y mssql-server
    (可选)如果要将 SQL Server 作为受限应用程序运行,则请安装启用了自定义策略的 mssql-server-selinux 包。
    [size=0.8]Bash复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    sudo yum install -y mssql-server-selinux
  • 包安装完成后,使用其完整路径运行 mssql-conf setup,按照提示设置 sa 密码并选择版本。 作为提醒,以下 SQL Server 版本是免费提供许可的:Evaluation、Developer 和 Express 版。
    [size=0.8]Bash复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    sudo /opt/mssql/bin/mssql-conf setup
    注意
    密码应遵循 SQL Server 默认密码策略。 默认情况下,密码必须为至少八个字符且包含以下四种字符中的三种:大写字母、小写字母、十进制数字、符号。 密码可最长为 128 个字符。 使用的密码应尽可能长,尽可能复杂。

  • 完成配置后,验证服务是否正在运行:
    [size=0.8]Bash复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    systemctl status mssql-server
  • 若要允许远程连接,请在 RHEL 防火墙上打开 SQL Server 端口。 默认的 SQL Server 端口为 TCP 1433。 如果为防火墙使用的是 FirewallD,则可以使用以下命令:
    [size=0.8]Bash复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanentsudo firewall-cmd --reload
此时,SQL Server 正在 RHEL 计算机上运行,随时可以使用!

采取最佳做法: 禁用 SA 帐户
在安装后首次使用系统管理员(sa)帐户连接到 SQL Server 实例时,请务必执行这些步骤,然后立即禁用 sa 帐户,这是旨在确保安全性的一项最佳做法。

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

通过以下步骤在 Red Hat Enterprise Linux 上安装 mssql-tools18。
  • 下载 Microsoft Red Hat 存储库配置文件。
  • 如果安装了早期版本的 mssql-tools,请删除所有旧的 unixODBC 包。
    [size=0.8]Bash复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    sudo yum remove mssql-tools unixODBC-utf16 unixODBC-utf16-devel
  • 运行以下命令,以使用 unixODBC 开发人员包安装 mssql-tools18。
    [size=0.8]Bash复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    sudo yum install -y mssql-tools18 unixODBC-devel
    若要将 mssql-tools 更新至最新版本,请运行以下命令:
    [size=0.8]Bash复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    sudo yum check-updatesudo yum update mssql-tools18
  • 可选:向 bash shell 中的 环境变量添加 /opt/mssql-tools18/bin/。
    若要使 sqlcmd 和 bcp 能从登录会话的 bash shell 进行访问,请使用下列命令修改 PATH 文件中的 ~/.bash_profile:
    [size=0.8]Bash复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profilesource ~/.bash_profile
    若要使 sqlcmd 和 bcp 能从交互式/非登录会话的 bash shell 进行访问,请使用下列命令修改 PATH 文件中的 ~/.bashrc:
    [size=0.8]Bash复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrcsource ~/.bashrc
本地连接
以下步骤使用 sqlcmd 本地连接到新的 SQL Server 实例。
注意
密码应遵循 SQL Server 默认密码策略。 默认情况下,密码必须为至少八个字符且包含以下四种字符中的三种:大写字母、小写字母、十进制数字、符号。 密码可最长为 128 个字符。 使用的密码应尽可能长,尽可能复杂。

  • 使用 SQL Server 名称 ()、用户名 (-S) 和密码 (-U) 的相应参数运行 sqlcmd。 本教程中要进行本地连接,因此服务器名称为 localhost。 用户名为 sa,密码是在安装过程中为 sa 帐户提供的密码。
    [size=0.8]Bash复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    sqlcmd -S localhost -U sa -P '<password>'
    备注
    默认情况下,较新版本的 sqlcmd 是安全的。 有关连接加密的详细信息,请参阅 sqlcmd 实用工具(对于 Windows)和使用 sqlcmd 进行连接(对于 Linux 和 macOS)。 如果连接不成功,则可以将 -No 选项添加到 sqlcmd,以指定加密是可选的,而不是强制性的。

    可以在命令行上省略密码,以收到密码输入提示。
    如果以后决定进行远程连接,请为 -S 参数指定计算机名称或 IP 地址,并确保防火墙上的端口 1433 已打开。
  • 如果成功,应会显示 sqlcmd 命令提示符:。
  • 如果连接失败,先尝试诊断错误消息中所述的问题。 然后查看连接故障排除建议

创建和查询数据
下面各部分将逐步介绍如何使用 sqlcmd 新建数据库、添加数据并运行简单查询。
有关编写 Transact-SQL 语句和查询的详细信息,请参阅教程:编写 Transact-SQL 语句
新建数据库
以下步骤创建一个名为 TestDB 的新数据库。
  • 在 sqlcmd 命令提示符中,粘贴以下 Transact-SQL 命令以创建测试数据库:
    [size=0.8]SQL复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    CREATE DATABASE TestDB;
  • 在下一行中,编写一个查询以返回服务器上所有数据库的名称:
    [size=0.8]SQL复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    SELECT NameFROM sys.databases;
  • 前两个命令不立即执行。 必须在新行中键入 GO 才能执行以前的命令:
    [size=0.8]SQL复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    GO
插入数据
接下来创建一个新表 dbo.Inventory,然后插入两个新行。
  • 在 sqlcmd 命令提示符中,将上下文切换到新的 数据库:
    [size=0.8]SQL复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    USE TestDB;
  • 创建名为 dbo.Inventory 的新表:
    [size=0.8]SQL复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    CREATE TABLE dbo.Inventory(    id INT,    name NVARCHAR (50),    quantity INT,    PRIMARY KEY (id));
  • 将数据插入新表:
    [size=0.8]SQL复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    INSERT INTO dbo.InventoryVALUES (1, 'banana', 150);INSERT INTO dbo.InventoryVALUES (2, 'orange', 154);
  • 要执行上述命令的类型 GO:
    [size=0.8]SQL复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    GO
选择数据
现在,运行查询以从 dbo.Inventory 表返回数据。
  • 通过 sqlcmd 命令提示符输入查询,以返回 表中数量大于 152 的行:
    [size=0.8]SQL复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    SELECT *FROM dbo.InventoryWHERE quantity > 152;
  • 执行此命令:
    [size=0.8]SQL复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

    GO
退出 sqlcmd 命令提示符
要结束 sqlcmd 会话,请键入 :
[size=0.8]SQL复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]

QUIT性能最佳做法
在 Linux 上安装 SQL Server 后,请查看配置 Linux 和 SQL Server 以提高生产性能的最佳做法。 有关详细信息,请参阅 Linux 上的 SQL Server 的性能最佳做法和配置指南
跨平台数据工具
除“sqlcmd”以外,还可以使用以下跨平台工具来管理 SQL Server :
[size=0.875em]展开表
工具
说明

Azure Data Studio跨平台 GUI 数据库管理实用程序。
Visual Studio Code一种跨平台 GUI 代码编辑器,它使用 mssql 扩展运行 Transact-SQL 语句。
PowerShell Core基于 cmdlet 的跨平台自动化和配置工具。
mssql-cli用于运行 Transact-SQL 命令的跨平台命令行接口。
从 Windows 进行连接
Windows 上的 SQL Server 工具连接到 Linux 上的 SQL Server 实例,操作方式与连接到任何远程 SQL Server 实例一样。
如果有一台可以连接到 Linux 计算机的 Windows 计算机,请从运行 sqlcmd 的 Windows 命令提示符尝试执行本主题中的相同步骤。 必须使用目标 Linux 计算机名称或 IP 地址,而不是 localhost,并确保 TCP 端口 1433 已在 SQL Server 计算机上打开。 如果从 Windows 进行连接存在任何问题,请参阅连接故障排除建议
有关在 Windows 上运行,但连接到 Linux 上的 SQL Server 的其他工具,请参阅:
其他部署方案
有关其他安装方案,请参阅以下资源:
  • 升级:了解如何升级 Linux 版 SQL Server 的现有安装
  • 卸载:在 Linux 上卸载 SQL Server
  • 无人参与的安装:了解如何编写无提示安装脚本
  • 脱机安装:了解如何手动下载脱机安装程序包
有关常见问题的解答,请参阅 Linux 上的 SQL Server 常见问题解答
相关内容
参与编辑 SQL 文档
你是否知道你可以自行编辑 SQL 内容? 你如果这样做,不仅可以帮助改进我们的文档,还可以获得页面贡献者的殊荣。
有关详细信息,请参阅 “编辑Microsoft Learn 文档








回复

使用道具 举报

3#
发表于 2025-7-17 21:30:35 | 只看该作者
挺不错的,我在fedora server 42 上有使用sql server,用于调试。
回复

使用道具 举报

4#
发表于 2025-7-18 12:41:30 | 只看该作者
来学习一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-10 20:13

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表