SQL Server CentOS安装失败原因
导读:SQL Server 在 CentOS 安装失败的常见原因与排查路径 一 常见根因分类 系统版本与平台不匹配:SQL Server on Linux 官方长期面向 RHEL/CentOS 7 系列提供包与仓库;在 CentOS 8/9 或...
SQL Server 在 CentOS 安装失败的常见原因与排查路径
一 常见根因分类
- 系统版本与平台不匹配:SQL Server on Linux 官方长期面向 RHEL/CentOS 7 系列提供包与仓库;在 CentOS 8/9 或 Stream 上常出现仓库路径不匹配、依赖不可用等问题,导致安装步骤(如 yum/dnf)失败或装后无法启动。
- 硬件资源不足:安装程序要求至少 2 GB 内存;低于该阈值会在初始化阶段直接报错并退出。
- 仓库与依赖配置错误:缺少或错误的 Microsoft GPG 公钥、repo 文件内容错误(如 baseurl 指向错误)、或缺少 ODBC/SSL 等依赖,都会造成安装中断。
- 旧版本残留或重复安装:历史残留的 mssql-server/mssql-tools 包、旧仓库未清理,容易引发冲突。
- 安装介质损坏或网络问题:下载的 RPM 包不完整、网络中断,导致包安装失败或校验不通过。
- 权限与磁盘空间不足:运行安装/初始化需要 root 权限;/var 或安装目录空间不足会导致写失败。
- 安全软件干扰:防火墙、SELinux、杀毒软件等策略可能阻断安装或首次启动所需的本地/端口访问。
二 快速自查清单
- 核对系统与版本:执行 cat /etc/redhat-release,确认为 CentOS 7.x;若为 8/9/Stream,优先改用受支持的 RHEL 7/CentOS 7 环境或迁移路径。
- 检查内存与磁盘:至少 2 GB 内存;
df -h确认 /var 与根分区剩余空间充足。 - 清理旧版本与旧仓库:卸载已存在的 mssql-server/mssql-tools,删除错误的 /etc/yum.repos.d/mssql-*.repo 后再添加正确源。
- 正确添加仓库与密钥:导入 https://packages.microsoft.com/keys/microsoft.asc,并使用与系统匹配的 repo(如 rhel/7 或 centos/7 路径)。
- 安装依赖:确保 unixODBC、unixODBC-devel、libcurl、libuuid、openssl 等依赖已就位。
- 以 root 执行初始化:
/opt/mssql/bin/mssql-conf setup。 - 查看日志定位:安装/初始化失败信息集中在 /var/opt/mssql/log/ 下的错误日志。
三 典型报错与对应处理
- “This program requires a machine with at least 2000 megabytes of memory.”:物理内存不足。增加内存至 ≥2 GB 后重试;若是虚拟机,临时调大内存再执行
/opt/mssql/bin/mssql-conf setup。 - “File contains no section headers. file: file:///etc/yum.repos.d/mssql-server.repo”:repo 文件为空或格式错误。删除该文件,重新用正确 URL 下载并写入 repo 配置。
- “nothing provides python needed by mssql-server”:常见于 CentOS 8 等环境缺少 Python 2。可安装 python2 并通过 alternatives 切换,再执行安装;不建议通过修改二进制降低内存限制,存在合规与稳定性风险。
- “Loaded plugins: fastestmirror … File contains no section headers.”:YUM 插件或源配置异常。可先禁用插件并重建缓存:
sed -i 's/^enabled=1/enabled=0/' /etc/yum/pluginconf.d/fastestmirror.conf & & yum clean all & & yum makecache,随后修复 repo 文件再安装。 - 安装过程报 GPG 签名或依赖冲突:导入 Microsoft GPG 公钥,核对 baseurl 是否指向 rhel/7 或 centos/7 对应目录,解决冲突依赖后重试。
四 环境与配置建议
- 优先选择 CentOS 7.x 作为受支持平台;在 CentOS 8/9/Stream 上优先迁移到受支持的 RHEL 7 兼容环境或使用容器化方案。
- 安装完成后开放 1433/TCP:
firewall-cmd --zone=public --add-port=1433/tcp --permanent & & firewall-cmd --reload,便于本地与远程客户端连接。 - 使用最新稳定仓库与工具链:导入 microsoft.asc,安装 msodbcsql17 与命令行工具,验证
sqlcmd -S localhost -U SA -P '< YourStrong!Passw0rd> '可正常连接。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: SQL Server CentOS安装失败原因
本文地址: https://pptw.com/jishu/754259.html
