无忧启动论坛
标题: (分享)linux安装sql server原来更简单 [打印本页]
作者: likeyouli 时间: 2025-7-17 16:29
标题: (分享)linux安装sql server原来更简单
本帖最后由 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
作者: likeyouli 时间: 2025-7-17 20:50
本帖最后由 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]
此主题的部分內容可能由机器或 AI 翻译。
消除警报
版本SQL Server 2025 Preview on Linux[size=0.75]
搜索[size=0.875]
- [color=rgb(22, 22, 22) !important]SQL Server
- [color=rgb(22, 22, 22) !important]文档导航提示
- [color=rgb(22, 22, 22) !important]先前版本 2005-2014
- 业务连续性
- 数据库设计
- 开发
- 内部构造与架构
- 安装
- 迁移和加载数据
- 管理、监控和优化
- 查询数据
- 报告和分析
- 安全性
- 工具
- 教程
- Linux 上的 SQL Server
- [color=rgb(22, 22, 22) !important]什么是 Linux 上的 SQL Server?
- 概述
- 快速入门
- [color=rgb(23, 23, 23) !important]安装和连接 (Red Hat)
- [color=rgb(22, 22, 22) !important]安装和连接 (SUSE)
- [color=rgb(22, 22, 22) !important]安装和连接 (Ubuntu)
- [color=rgb(22, 22, 22) !important]安装和连接 (WSL2)
- [color=rgb(22, 22, 22) !important]运行并连接(容器)
- [color=rgb(22, 22, 22) !important]部署 SQL Server 容器群集
- [color=rgb(22, 22, 22) !important]使用 Ansible playbook 部署到 Azure VM
- [color=rgb(22, 22, 22) !important]在 Azure 中预配 SQL Server VM >
- [color=rgb(22, 22, 22) !important]运行和连接 - 云端
- 教程
- 概念
- 示例
- 资源
- Azure 上的 SQL
- Azure Arc
- 资源
- 参考
[size=0.875em]下载 PDF
[size=0.875em][size=0.875em][size=0.875em]
[color=rgb(15, 108, 189) !important][size=0.875em]
快速入门:在 Red Hat 上安装 SQL Server 并创建数据库
在本快速入门中,将在 Red Hat Enterprise Linux (RHEL) 9.x 上安装 SQL Server 2025 (17.x) 预览版。 然后可以使用 sqlcmd 进行连接,创建第一个数据库并运行查询。
提示
先决条件
必须拥有 RHEL 8.x 计算机(内存至少为 2 GB)。
安装 SQL Server
从 RHEL 9 开始,你可以将 SQL Server 作为启用 SELinux 的受限应用程序运行。 有关使用 SELinux 的受限和非受限应用程序的详细信息,请参阅
SELinux 入门。
要将 SQL Server 作为受限应用程序运行,请执行以下步骤:
备注
你仍可像以前版本的 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:
[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 存储库配置文件。
对于 Red Hat 9,请使用以下命令:
[size=0.8]Bash复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]
curl https://packages.microsoft.com/config/rhel/9/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo对于 Red Hat 8,请使用以下命令:
[size=0.8]Bash复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]
curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo对于 Red Hat 7,请使用以下命令:
[size=0.8]Bash复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
如果安装了早期版本的 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 个字符。 使用的密码应尽可能长,尽可能复杂。
创建和查询数据
下面各部分将逐步介绍如何使用 sqlcmd 新建数据库、添加数据并运行简单查询。
新建数据库
以下步骤创建一个名为 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,然后插入两个新行。
选择数据
现在,运行查询以从 dbo.Inventory 表返回数据。
退出 sqlcmd 命令提示符
要结束 sqlcmd 会话,请键入 :
[size=0.8]SQL复制[color=rgb(255, 255, 255) !important][backcolor=rgb(16, 124, 16) !important][size=1.125]
QUIT性能最佳做法
跨平台数据工具
除“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
- 无人参与的安装:了解如何编写无提示安装脚本
- 脱机安装:了解如何手动下载脱机安装程序包
相关内容
参与编辑 SQL 文档
你是否知道你可以自行编辑 SQL 内容? 你如果这样做,不仅可以帮助改进我们的文档,还可以获得页面贡献者的殊荣。
作者: wuyou 时间: 2025-7-17 21:30
挺不错的,我在fedora server 42 上有使用sql server,用于调试。
作者: guong 时间: 2025-7-18 12:41
来学习一下
| 欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) |
Powered by Discuz! X3.3 |