【SQL Server on Linux】Linux下安装SQL Server

2022-05-30 00:00:00 版本 命令 运行 内存 安装

前天听Mr.Ding说Linux上也可以安装SqlServer了,正好学习.net也需要安装SqlServer,正好安装Mr.Ding的教程走一遍,反正服务器也是闲着,可着劲折腾去吧。

直接上教程:

1  先决条件

您必须具有至少2 GB内存RHEL 7.3或7.4计算机。

如果使用CENTOS 、请使用CENTOS 7的版本。CENTOS6.9 安装的话,会出现错误。

如果您以前安装了SQL Server 2017的CTP或RC版本,则必须先删除旧存储库,然后再执行这些步骤。

可以使用命令:cat etc/redhat-release  来查看系统发行版本


2   安装SqlServer

2.1 下载Microsoft SQL Server 2017 Red Hat存储库配置文件

sudo curl -o etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo


过程如下:

sudo yum update 更新系统,这个不是必须的,只是预防系统环境出现

什么异常的问题,视个人而定。

2.2  运行以下命令以安装SQL Server:

sudo yum install -y mssql-server

一部分过程:

安装完成:


2.3  程序包安装完成后,运行mssql-conf setup并按照提示

设置SA密码并选择您的版本

sudo opt/mssql/bin/mssql-conf setup

1.这些会选择你对应的版本,评估版,标准版,企业版等

2.设置sa的账号密码

3.这个过程是可以重复做的。如果密码忘记了,可以用这个直接重置。不过要事先关闭服务。

这个随意,然后选择安装语言,管理员密码等等:

2 .4  然后安装失败,进入另一个坑,破解内存限制:

提示说至少有2G内存,我们的服务器是2G的内存,但是很皮的是,

微软在 Update 4 后把内存限制改成了 2G,也就是,即使你按照指南操作,

安装时空闲内存不足 2000M 一样会得到报错消息:

sqlservr: This program requires a machine with at least 2000 megabytes of memory.

但是需要修改的这个常量而不是 3250000000 而是 2000000000。

此时可以切换自己的mssql的bin目录下(cd opt/mssql/bin/)


[root@localhost bin]# mv sqlservr sqlservr.old [root@localhost bin]# python >>> oldfile = open("sqlservr.old", "rb").read()>>> newfile = oldfile.replace("\x00\x94\x35\x77", "\x00\x80\x84\x1e")>>> open("sqlservr", "wb").write(newfile)[root@localhost bin]# chmod +x sqlservr

进入/opt/mssql/bin/目录后,开始运行破解命令,上面是破解过程,

我下面边解释边运行:

mv sqlservr sqlservr.old  类似于先备份,后执行,不过mv是重命名:

下面要用Python命令将sqlservr这个文件中的\x00\x94\x35\x77替换成

\x00\x80\x84\x1e,其实就是查找替换,网上的教程都是Python的,用Linux

命令应该也可以,但是因为这是二进制文件,所以用Python命令更加方便,

这时候可以输入:Python,查看机器是否安装了Python:

如果是上图这样,那就是直接进入Python命令行界面了,开始输入下面代码:

oldfile = open("sqlservr.old", "rb").read()

newfile = oldfile.replace("\x00\x94\x35\x77", "\x00\x80\x84\x1e")

open("sqlservr", "wb").write(newfile)

替换字符串后还创建个sqlservr文件,复制完代码后exit()退出即可

此时我们查看文件,然后记得chmod +x sqlservr

我们可以继续配置SqlServer了:sudo opt/mssql/bin/mssql-conf setup



2.4   配置完成后,验证服务是否正在运行:

systemctl status mssql-server

如图,此时SqlServer正在正常运行:

5.配置防火墙

放开1433端口,让外面的客户端可以正常访问1433端口


参考文章:

https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-red-hat?view=sql-server-2017


https://www.cnblogs.com/johnwii/p/8525490.html


http://www.mamicode.com/info-detail-1838945.html


https://blog.csdn.net/z10843087/article/details/78109348


相关文章