Ubuntu下DBeaver配置的SQL Server无法连接Rider 但MySQL连接正常
问题解决指南
基础错误纠正
你首次连接报错的核心原因是数据库端口混用:3306是MySQL的默认服务端口,而SQL Server的默认服务端口为1433。使用SQL Server专属驱动去请求MySQL监听的3306端口,会出现协议不匹配的预登录响应错误,这是你第一个报错的直接诱因。
1433端口连接失败排查步骤
所有操作均为Ubuntu环境适配,无Windows相关方案:
- 第一步:确认SQL Server服务已正常运行
执行命令查看服务状态:systemctl status mssql-server.service
若状态为非活跃,执行启动命令:sudo systemctl start mssql-server.service
如需设置开机自启,追加执行:sudo systemctl enable mssql-server.service - 第二步:确认1433端口被SQL Server正常监听
执行端口占用检查命令:ss -tulnp | grep 1433
正常输出会显示mssql-server进程监听在1433端口,若没有对应输出,修改SQL Server网络配置强制监听1433端口:sudo /opt/mssql/bin/mssql-conf set network.tcpport 1433
执行完成后重启服务生效:sudo systemctl restart mssql-server.service - 第三步:确认防火墙未拦截1433端口
Ubuntu默认使用ufw防火墙,执行命令放行1433端口的TCP请求:sudo ufw allow 1433/tcp
刷新防火墙规则使配置生效:sudo ufw reload - 第四步:核对Rider连接配置
确认所有参数和你DBeaver中配置的SQL Server连接完全一致,注意不要和MySQL连接参数混淆:- 主机:本地部署填
localhost,远程部署填对应服务器IP - 端口:填1433
- 认证方式:选择
SQL Server身份认证,不要选择Windows认证(Ubuntu环境不支持) - 用户名、密码、数据库名和SQL Server的配置完全匹配
- 主机:本地部署填
额外注意
SQL Server和MySQL是两款完全独立的数据库产品,账号、端口、库名均不通用,如果你本机仅安装了MySQL没有部署SQL Server,需要先完成SQL Server在Ubuntu上的安装部署后再进行连接配置。
内容的提问来源于stack exchange,提问作者Tudor Stoica
相关产品推荐
相关产品推荐

