CentOS与SQL Server的集成方式是什么
导读:集成方式概述 在 CentOS 上,集成 Microsoft SQL Server 的主流方式是安装并运行 SQL Server on Linux,通过 Microsoft 官方 YUM 仓库部署服务器与客户端工具,使用 sqlcmd 进行...
集成方式概述 在 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 远程执行。
- 启用 SQL Server 代理(Linux 上通过 T-SQL 启用 Agent XPs):
故障排查要点
- 无法远程连接
- 核对服务状态: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 个字符,包含大小写字母、数字与符号)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS与SQL Server的集成方式是什么
本文地址: https://pptw.com/jishu/763457.html
