2024年8月3日星期六

Ubuntu 20.04升级到Ubuntu 22.04后Mssql-Server 2019数据库无法启动

Ubuntu 20.04升级到Ubuntu 22.04后Mssql-Server 2019数据库无法启动,Ubuntu22.04安装Mssql-Server 2019数据库的完美解决方案。Ubuntu 20.04升级到Ubuntu 22.04后SQL-Server 2019数据库无法启动,把Ubuntu内核从20.04升级到22.04,重启系统后发现数据库启动后立马又停止服务了。查看/var/opt/mssql/log/errorlog日志文件也没有找到明显的错误提示信息。马上搜索网络,找到解决方案,分享出来让大家避坑。

首先用下面命令安装libssl1.1

$ sudo apt install libssl1.1

然后执行

$ cd /opt/mssql/lib
$ ls -la
$ sudo rm libcrypto.so libssl.so
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 libcrypto.so
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.1 libssl.so

重启Mssql-Server.service服务

$sudo systemctl restart mssql-server.service

如果还没有正常启动,修改/var/opt/mssql/mssql.conf配置文件,在里面加上下面的这段

[system_default_sect]

cipherstring = DEFAULT:@SECLEVEL=0

然后再次重启Mssql-Server.service服务已经成功了。

使用几天后发现,在/var/opt/mssql/log目录下,以core.sqlservr.加日期.tbz2 命名的文件过大,因硬盘空间爆满导致ubuntu22.04系统崩溃,而且在百万级别的数据导入导出时Mssql-Server 2019数据库也会报错无法正常导入导出数据。折腾了几天,最终的完美解决Ubuntu22.04安装Mssql-Server 2019数据库,下面分享出来:

$ cd /opt/mssql/lib

$ sudo rm libcrypto.so libssl.so

然后从Ubuntu 20.04系统拷贝 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 和 /usr/lib/x86_64-linux-gnu/libssl.so.1.1两个文件到现在Ubuntu 22.04系统Mssql-Server 2019数据库/opt/mssql/lib目录下面。拷贝完成后记得$cd /opt/mssql/lib再执行如下命令:

$ sudo ln -s libcrypto.so.1.1 libcrypto.so
$ sudo ln -s libssl.so.1.1 libssl.so

(清除下之前的MSSQL日志,这步骤可省略,看各自需求)
$su  (回车输入root密码)

$cd /var/opt/mssql/log

$rm *.*   (一定要确认当前目录是/var/opt/mssql/log,要不删错系统文件本站不负任何责任。)

最好就重启下Ubuntu系统