在Linux上安装sql server 2019要求最低2g内存,实测内存达到2g,按照官方文档是可以直接安装成功并正常使用的,但是内存不够2g的话就要绕过这个限制了
我的服务器是1g内存,安装的Ubuntu18.04 minimal,虽然不知道minimal有什么好处,但是感觉可能系统占的内存小一点,留给sql的内存可能会多一点,centos应该也可以装,只要能绕过2g内存限制
使用root账号登录服务器
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
apt-get update
apt install software-properties-common
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"
sudo apt-get update
sudo apt-get install -y mssql-server
cd /opt/mssql/bin/
mv sqlservr sqlservr.old
python
oldfile = open("sqlservr.old", "rb").read()
newfile = oldfile.replace("\x00\x94\x35\x77", "\x00\x80\x84\x1e")
open("sqlservr", "wb").write(newfile)
exit()
重点来了,上面的四行代码是用Python修改内存限制的二进制文件,修改之后要先设置权限之后再继续安装
chmod 777 sqlservr
必须先运行上面的代码设置权限之后再继续,否则会提示permission denied
如果继续安装出错,reboot重启之后继续安装
sudo /opt/mssql/bin/mssql-conf setup
验证sql服务是否正在运行
systemctl status mssql-server --no-pager
设置内存限制,我的服务器的总内存1g,设置sql内存限制768MB,不设置的话连接sql的时候可能会报错内存不足
sudo /opt/mssql/bin/mssql-conf set memory.memorylimitmb 768
sudo systemctl restart mssql-server
安装完成后防火墙要开放端口1433
参考:
快速入门:安装 SQL Server 并在 Ubuntu 上创建数据库https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-ver15
Linux 下安装sql server 时 2G内存限制的最新(2019-08-15) 解决方案https://www.cnblogs.com/xtdhb/p/11357702.html
使用mssql-conf工具在Linux上配置SQL Serverhttps://docs.microsoft.com/en-us/sql/linux/sql-server-linux-configure-mssql-conf?view=sql-server-2017