温馨提示×

CentOS与SQL Server的集成方式是什么

小樊
44
2025-12-04 01:01:17
栏目: 云计算

集成方式概述CentOS 上,集成 Microsoft SQL Server 的主流方式是安装并运行 SQL Server on Linux,通过 Microsoft 官方 YUM 仓库部署服务器与客户端工具,使用 sqlcmd 进行本地管理,开放 TCP 1433 端口后由 SSMS 或其他客户端远程访问。该方式属于同机或内网直连集成,适合应用服务器与数据库共置或同网段访问的场景。

部署与连接步骤

  • 准备与仓库
    • 更新系统并安装依赖:sudo yum update -y;sudo yum install -y wget openssl11-devel libaio
    • 添加 Microsoft GPG 密钥:sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    • 添加服务器与工具仓库(示例为 RHEL/7,对应 CentOS 7):
      • 服务器:sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo
      • 工具:sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
  • 安装与初始化
    • 安装服务器:sudo yum install -y mssql-server
    • 初始化配置(设置 SA 密码与版本):sudo /opt/mssql/bin/mssql-conf setup
    • 启动与自启:sudo systemctl start mssql-server;sudo systemctl enable mssql-server
  • 安装客户端工具与验证
    • 安装命令行工具:sudo yum install -y mssql-tools unixODBC-devel
    • 配置 PATH:echo ‘export PATH=“$PATH:/opt/mssql-tools/bin”’ >> ~/.bashrc && source ~/.bashrc
    • 本地验证:sqlcmd -S localhost -U SA -P ‘YourPassword’;执行 SELECT @@VERSION; GO
  • 远程访问与防火墙
    • 开放端口:sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent && sudo firewall-cmd --reload
    • 远程连接:在 SSMS 或其他工具中使用“服务器IP,1433”,身份验证选 SQL Server 身份验证,用户 SA

版本与系统适配

  • 常见组合为 CentOS 7 + SQL Server 2019(15.x);这是 CentOS 7 系列上官方支持的主流稳定组合。
  • 对于 CentOS 8,使用与 RHEL 8 对应的仓库与包;核心流程(仓库、安装、mssql-conf、sqlcmd、1433 防火墙)保持一致,仅仓库路径中的版本号不同。

常见集成场景与配置

  • 应用连接
    • 在应用配置中使用连接字符串:Server=服务器IP,1433;Database=yourdb;User Id=SA;Password=YourPassword;Encrypt=True;TrustServerCertificate=False;
    • 建议为应用创建专用登录与最小权限数据库用户,避免使用 SA
  • 高可用与运维
    • 启用 SQL Server 代理(Linux 上通过 T-SQL 启用 Agent XPs):
      • USE master; EXEC sp_configure ‘show advanced options’, 1; RECONFIGURE;
      • EXEC sp_configure ‘Agent XPs’, 1; RECONFIGURE;
    • 备份与还原可直接用 sqlcmd 执行 T-SQL,也可通过 SSMS 远程执行。

故障排查要点

  • 无法远程连接
    • 核对服务状态:systemctl status mssql-server
    • 核对端口与防火墙:sudo firewall-cmd --list-ports | grep 1433
    • 本机连通性:sqlcmd -S 127.0.0.1 -U SA -P ‘YourPassword’
  • 客户端工具不可用
    • 检查 PATH 是否包含 /opt/mssql-tools/bin,或重登会话后再试
  • 初始化或启动失败
    • 查看日志:/var/opt/mssql/log/errorlog
    • 确认 SA 密码符合强度要求(至少 8 个字符,包含大小写字母、数字与符号)。

0