前言
前段时间赶上阿里云618活动入手了一个低配的Linux服务器,供自己学习使用,在安装SQL Server中遇到了很多小问题,查阅很多博客结合自身遇到的问题做个总结。
安装过程
1.下载阿里云在线yum源到本地
在云服务器初始化完毕后,远程连接到服务器,开始安装。
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
2.下载微软官方的sqlserver源到本地
wget -O /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
3.安装mssql-server
yum install -y mssql-server
4.破解内存限制(服务器内存大于2G,跳过此步)
坑出现了,数据库安装对内存有限制,空闲内存不得少于2G。
4.1切换到/opt/mssql/bin目录下
cd /opt/mssql/bin/
4.2备份文件
备份完成可看见目录下文件如下图。
mv sqlservr sqlservr.old
4.3使用python修改二进制文件,把里面的2G内存限制改为512M
输入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()
5.安装SQL Server 版本
/opt/mssql/bin/mssql-conf setup
输入数字为选择所需安装的版本,是否接受条款yes,下一步,然后设置sa密码(注意在输入密码的时候,窗口上是不显示任何字符的,所以输入完之后,直接回车,然后再输入一遍,回车确认)。
6.查看运行状态
systemctl status mssql-server
如果出现下图错误,则需要修改一下权限。
6.1设置/opt/mssql/bin/sqlservr 目录的权限
cd /opt/mssql/bin/
chmod 777 sqlservr
6.2再次安装
/opt/mssql/bin/mssql-conf setup
6.3检查状态成功
systemctl status mssql-server
7.设置防火墙,开启远程连接
firewall-cmd --zone=public --add-port=1433/tcp --permanent
firewall-cmd --reload
如果出现以下错误,则说明防火墙未开启,直接跳过即可。
8.打开本地SSMS,远程连接CentOS的SQL Server
出现SQL Server 错误53,则需要配置阿里云安全规则,打开1433端口。
9.配置安全规则
9.1打开安全组
9.2手动添加设置
如图所示,授权里没有1433端口。
添加端口,保存,入方向即可看见1433端口以打开。