Rob*_*son 5 sql-server ubuntu connectivity
我已经在 Ubuntu 上运行 SQL Server 一段时间了,一切正常,但我重新启动了服务器,现在与 SQL Server 的所有连接都失败并显示错误:
A connection was successfully established with the server, but then an error occurred during the login process.
(provider: SSL Provider, error: 0 -
An existing connection was forcibly closed by the remote host.)
(Microsoft SQL Server, Error: 10054)
Run Code Online (Sandbox Code Playgroud)
我曾尝试卸载并重新安装 SQL Server,设置各种 mssql-conf 值(自再次删除后)等,但我所做的一切都没有任何区别。
与 Windows 相关的文章似乎指出它与 SSL 相关,但未启用 SSL。我确实尝试启用它并设置了一个证书,但是即使我对证书和私钥 777 授予了权限并授予 mssql 用户/组它只是告诉我它无法读取它然后 SQL Server 无法启动所以我又删除了。
任何人都可以建议我可以做些什么来让它再次工作,因为我没有想法吗?
谢谢罗宾
MSSQL 需要 OpenSSL v1.0,而 Ubuntu 18+ 使用 OpenSSL 1.1,导致OpenSSL 版本不匹配。解决方案是将 ssl v1.0 符号链接如下:
停止 SQL Server
sudo systemctl stop mssql-server
Run Code Online (Sandbox Code Playgroud)打开服务配置的编辑器
sudo systemctl edit mssql-server
Run Code Online (Sandbox Code Playgroud)在编辑器中,将以下行添加到文件中并保存:
[Service]
Environment="LD_LIBRARY_PATH=/opt/mssql/lib"
Run Code Online (Sandbox Code Playgroud)创建指向 OpenSSL 1.0 的符号链接以供 SQL Server 使用
sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 /opt/mssql/lib/libssl.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /opt/mssql/lib/libcrypto.so
Run Code Online (Sandbox Code Playgroud)启动 SQL Server
sudo systemctl start mssql-server
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
2517 次 |
最近记录: |