You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 16.04安装MSSQL失败:无法加载mssql.conf配置文件

解决Ubuntu 16.04上MSSQL配置文件加载失败的问题

针对你在Ubuntu 16.04服务器安装MSSQL时遇到的配置文件加载失败问题,我整理了几个针对性的排查和解决步骤,帮你突破当前的卡点:

问题回顾

你按照微软官方手册完成sudo apt-get install -y mssql-server安装后,运行sudo /opt/mssql/bin/mssql-conf setup回答完配置问题,却收到错误:

sqlservr[8383]: sqlservr: The configuration file '/var/opt/mssql/mssql.conf' failed to load (error: The INI file could not be opened. Errno [2] Filename [mssql.conf])
你确认已用sudo执行命令,且能通过cat正常查看该配置文件,但由于Linux技术经验不足,无法进一步排查。另外你提到内核问题无法使用Docker替代,所以我们聚焦在原生安装的修复上。

针对性解决方案

1. 修复配置文件的权限与归属

虽然你能读取文件,但MSSQL服务是以mssql系统用户身份运行的,很可能是该用户没有读写配置文件的权限。执行以下命令修正:

sudo chown mssql:mssql /var/opt/mssql/mssql.conf
sudo chmod 600 /var/opt/mssql/mssql.conf

解释:chown把文件归属改成mssql用户和组,chmod 600确保只有该用户能读写,避免权限冲突。

2. 重建配置文件(排除文件损坏)

有时候文件看起来正常,但可能存在隐藏的格式错误或损坏。可以备份后重新生成:

# 先备份原配置文件
sudo cp /var/opt/mssql/mssql.conf /var/opt/mssql/mssql.conf.bak
# 删除原文件
sudo rm /var/opt/mssql/mssql.conf
# 重新运行配置向导
sudo /opt/mssql/bin/mssql-conf setup

注意:重新运行setup时需要再次设置SA密码、选择版本等信息,记得提前记录好之前的配置。

3. 递归修复MSSQL目录权限

除了单个配置文件,整个/var/opt/mssql目录的权限也可能影响服务访问。执行以下命令递归设置正确权限:

sudo chown -R mssql:mssql /var/opt/mssql
sudo chmod -R 700 /var/opt/mssql

这条命令会把MSSQL的所有数据和配置目录都归给mssql用户,确保服务能正常访问所有相关文件。

4. 检查AppArmor限制(Ubuntu 16.04默认启用)

Ubuntu 16.04默认运行AppArmor安全模块,可能限制了MSSQL进程读取配置文件的能力。可以临时禁用MSSQL的AppArmor规则测试:

sudo aa-disable /etc/apparmor.d/usr.bin.sqlservr

如果禁用后配置成功,你可以选择永久调整AppArmor规则(需要编辑对应配置文件),或者根据安全需求决定是否保持禁用。

5. 排查磁盘与文件系统问题

Errno 2通常是“文件不存在”,但也可能是磁盘空间不足或文件系统损坏导致的虚假报错:

# 检查磁盘剩余空间
df -h
# 检查文件系统完整性(需卸载对应分区,建议在业务空闲时操作)
sudo fsck /dev/[你的分区设备名]

如果磁盘已满,清理冗余文件后再尝试配置;如果文件系统有错误,修复后重新启动服务器再测试。

内容的提问来源于stack exchange,提问作者Lars Goebels

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:22:10