Linux 下安装sql server 时 2G内存限制的最新(2019-08-15) 解决方案
关于 sqlserver 在linux下安装时有最小内存限制的问题,网上有很多类似的说明,那些操作都是正确的,如果不成功可能 “姿势”不对。
需要注意的是:不能使用最新版本!!! 不能在线下载!!! 折腾了好久,终于使用离线安装成功; 如果安装失败,不妨试试这个方法;
共享几个连接及命令:
微软官网的sqlserver linux 2017 的安装说明,如果内存不大于2G(这里是不大于2G,这里2G内存是空闲内存需要2G),请不要使用官网在线安装;
https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-overview?view=sql-server-linux-2017 关于后期配置说明,这里有权威的解释;
离线下载路径:
wget https://packages.microsoft.com/rhel/7/mssql-server-2017/mssql-server-14.0.3030.27-1.x86_64.rpm (文件大小:168 MB),我这里下载的是 14.0.3030.27;
下载完之后,进入下载目录后 执行:
yum localinstall mssql-server-14.0.3030.27-1.x86_64.rpm
安装之后的操作和大多数网上教程一致,这里再重复一遍:
1)cd /opt/mssql/bin/ # 进入sqlserver 目录
2)mv sqlservr sqlservr.old # 保存备份文件
3)python # 使用python修改内存限制的二进制文件
>>>oldfile = open("sqlservr.old", "rb").read()
>>>newfile = oldfile.replace("\x00\x94\x35\x77", "\x00\x80\x84\x1e")
>>>open("sqlservr", "wb").write(newfile)
>>>exit()
4) sudo /opt/mssql/bin/mssql-conf setup 进行sqlserver配置
如果遇到: /bin/bash: /opt/mssql/bin/sqlservr: 权限不够 ,执行 : chmod 777 sqlservr 后再开启服务 systemctl start mssql-server
5)最后查看服务状态: systemctl status mssql-server 出现了期盼已久的 active (running)
其他配置:
配置端口:sudo /opt/mssql/bin/mssql-conf set network.tcpport <new_tcp_port>