专栏首页浩Coding【SQL Server on Linux】Linux下安装SQL Server

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

前天听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

本文分享自微信公众号 - 浩Coding(gh_c4a2e63d2ca7),作者:浩

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-10-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【SQL Server on Linux】Linux下安装SQL Server 及SqlServer基本命令CRUD

    前天听Mr.Ding说Linux上也可以安装SqlServer了,正好学习.net也需要安装SqlServer,正好按照Mr.Ding的教程走一遍,反正服务器也...

    浩Coding
  • 微信个人公众号开发--(1)账号注册及基本功能设置

    进入微信公众号平台,看左侧的列表,大概需要设置自动回复,和自定义菜单,至于投票,赞赏功能视个人需求而定.

    浩Coding
  • Spring bean注解配置(2)—— @Autowired

    @Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。系统...

    浩Coding
  • 简单比较init-method,afterPropertiesSet和BeanPostProcessor

    1、init-method方法,初始化bean的时候执行,可以针对某个具体的bean进行配置。init-method需要在applicationContext....

    小程故事多
  • Discourse 设置 GTM

    随着网站的持续运行,我们可能需要在网站上面添加很多其他网站的标签来进行网站的校验。

    HoneyMoose
  • Java中类的加载机制---父类和子类的多态调用

    上面程序最大的难点,也是最重要的地方就是:在父类的构造函数中调用了虚函数,并且这个函数被子类重载了

    wust小吴
  • Billu_b0x靶机渗透

    得到IP后,访问网页,发现只有登录框,没有什么意外的东西,扫描一下后台目录,看看有没有什么文件可利用的,扫描完后,发现有一堆php,同时还有一个phpmy(ph...

    Elapse
  • 解析腾讯企业邮箱到自己域名,设置mail的cname

        之前注册了腾讯企业邮的免费邮箱,后来想把企业邮箱和域名绑定起来,发现了一些问题。

    天涯泪小武
  • DN榜:域名380.com以32.3万美金价格位居榜首!

    在DN榜的排名中,域名380.com以32.3万美金的价格,约214万元的价格位居榜首。

    躲在树上的域小名
  • 【Rust每周一知】Rust 中新的切片模式

    对于Rust v1.42.0中的高级切片模式(advanced slice patterns),开发者Thomas Hartmann写了一篇博客文章,总结了我们...

    MikeLoveRust

扫码关注云+社区

领取腾讯云代金券