本文内容是采集的好几位博主的博文进行的一个整合,内容更为精准和详尽,以下是我参照的几篇博文地址:

微软官方文档:https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup?view=sql-server-ver15

CallousMaster:https://blog.51cto.com/13770206/2429881

(机器空闲内存低于2G时的解决方案)

这就是Me:https://www.cnblogs.com/johnwii/p/8525490.html

老张一笑:https://www.cnblogs.com/xtdhb/p/11357702.html

然后接下来的内容,我会结合我个人实际安装过程中碰到的问题,将每一步都写明。

1.1 下载阿里云在线yum源到本地

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

1.2 下载微软官方的sqlserver源到本地

wget -O /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo

1.3 安装mssql-server(SQL Server软件包)

yum install -y mssql-server

接下来就是要指定安装哪一个版本了,但是如果机器空闲内存低于2G的话,请继续按照以下步骤,否则,直接进行第三部分

破解内存限制

2.1 首先切换到 /opt/mssql/bin 目录下

cd /opt/mssql/bin/

2.2 然后保存备份文件

mv sqlservr sqlservr.old

2.3 使用python修改二进制文件,把里面的2G内存限制改为512M

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

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

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

exit()

3.1 选择想要安装的sql server版本,以及设置SA用户密码

/opt/mssql/bin/mssql-conf setup

输入数字,选择所要安装的版本,然后在出现询问是否接受许可条款时,输入yes,回车继续下一步。

到了这一步的时候,输入SA用户密码(密码长度八位以上,且密码必须包含数字、字母和特殊字符),注意在输入密码的时候,窗口上是不显示任何字符的,所以输入完之后,直接回车,然后再输入一遍,回车确认。

3.2 运行命令,检查SQL server状态(运行是否有问题)

systemctl status mssql-server

如果出现了如下图这种错误:

在启动SQL server引擎的时候出现了错误。

关于这个的解决方案就是,我们需要设置一下 /opt/mssql/bin/sqlservr 目录的权限,让SQL server可以访问

cd /opt/mssql/bin/
chmod  sqlservr

这次权限分配完成,接着重新输入命令,再次安装

/opt/mssql/bin/mssql-conf setup

安装完成之后,再次检查SQL server的状态

systemctl status mssql-server

出现如下图界面,则表示已安装成功

3.1 设置防火墙,开启远程连接

firewall-cmd --zone=public --add-port=/tcp --permanent
firewall-cmd --reload

如果执行上述命令的时候,出现这种错误

则表示防火墙未开启,这种情况可以跳过防火墙设置,直接进行下一步

安装sqlserver命令行工具

4.1 下载微软官方的软件包yum源

wget -O  /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo

4.2 如果以前装过mssql,则需要删除较旧的UnixODBC软件包

yum remove unixODBC-utf16 unixODBC-utf16-devel 

4.3 安装mssql工具包和UnixODBC开发人员软件包(这一步命令会出现两次询问:是否接受许可条款,都输入yes,回车确定)

yum install -y mssql-tools unixODBC-devel 

4.4 添加PATH环境变量

echo "export PATH=$PATH:/opt/mssql-tools/bin" >> /etc/profile
source /etc/profile

4.5 使用sqlcmd命令连接本地的sqlserver,输入之前设置的SA密码

sqlcmd -S localhost -U SA -p

出现这个界面,表示登录成功,然后我们可以开始写SQL命令。

首先我们先执行一句SQL语句,创建一个测试数据库,检测是否有效。

CREATE DATABASE [Test]
GO

SELECT [Name] FROM SYS.DATABASES
GO

5.1 打开本地windows端的SSMS,远程连接CentOS中的SQL Server

centos7.x中安装SQL Server的更多相关文章

  1. 阿里云ECS服务器Centos中安装SQL Server(破解内存限制)

    前言 前段时间赶上阿里云618活动入手了一个低配的Linux服务器,供自己学习使用,在安装SQL Server中遇到了很多小问题,查阅很多博客结合自身遇到的问题做个总结. 安装过程 1.下载阿里云在线 ...

  2. CentOS7.5脱机安装SQL Server 2017(NEW)

    发现搜到的都是在线下载安装的,都是只安装了mssql-server服务,没有mssql-server-agent服务.还以为linux下mssql没有agent服务呢.一番测试发现可以脱机安装,但是能 ...

  3. 自动化安装SQL Server+SP就那么简单

    随着业务.企业规模的日益壮大,DB的数量也在不断增多,配置一台新增DB,从服务器的参数配置,磁盘阵列规划,DB安装部署,DB参数调优等等一列步骤下来,手工操作的效率变得越来越低,因为我负责的数据库近些 ...

  4. 一个小时成功安装SQL Server 2012图解教程

    在安装微软最新数据库SQL Server 2012之前,编者先确定一下安装环境:Windonws 7 SP1,32位操作系统.CPU是2.1GHz赛扬双核T3500,内存2.93GB. 安装SQL S ...

  5. 在Red Hat Enterprise Linux 7.3上安装SQL Server 2017

    必要条件: 1.在此快速安装过程中,您需要安装SQL Server 2017或SQL Server 2019上Red Hat Enterprise Linux (RHEL) 7.3 +.然后使用sql ...

  6. 动化安装SQL Server+SP就那么简单

    随着业务.企业规模的日益壮大,DB的数量也在不断增多,配置一台新增DB,从服务器的参数配置,磁盘阵列规划,DB安装部署,DB参数调优等等一列步骤下来,手工操作的效率变得越来越低,因为我负责的数据库近些 ...

  7. CentOS7安装Sql Server、apache2和php72及MSSQL驱动

    CentOS7安装apache2和php72及MSSQL驱动 CentOS7版本: [root@localhost ~]# cat /etc/redhat-release CentOS Linux r ...

  8. 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3.5的详细分析及安装过程

           问题:在服务器(操作系统为Windows server 2012)上安装SQL Server 2012的过程中,安装停留在下图所示的界面上,显示”正在启用操作系统功能NetFx3”随后出 ...

  9. 在打包程序中自动安装SQL Server数据库 .

    原文:在打包程序中自动安装SQL Server数据库 . 1.创建安装项目“Setup1”安装项目 在“文件”菜单上指向“添加项目”,然后选择“新建项目”. 在“添加新项目”对话框中,选择“项目类型” ...

随机推荐

  1. Windows Server 2016 Active Directory 图文搭建指南

    1. 首先打开Manage --> Add Roles and Features 2. 点击Next 3. 不做修改,点击Next 4. 不做修改,点击Next 5. 选择Active Dire ...

  2. SSM前后端分离/不分离对比Demo

    之前某些原因,整理了一个小的Demo,用于演示.个人认为在SSM前后端不分离的基础上在前端处理上比较麻烦一点之后就是注解的使用.总结一些对比,仅是自己掌握的,不够严谨,不足之处请大佬批评指正. 路由控 ...

  3. 代码写不对队-Beta冲刺版本

    代码写不对队:Beta冲刺版本 这个作业属于哪个课程 http://edu.cnblogs.com/campus/xnsy/GeographicInformationScience/homework ...

  4. CAD制图系列之“点”的绘制方法

    本章将重点记录点的绘制方法 画直线的原理其实在画两个点,所以,只要会把握点的画法,线就画好啦 点输入模式: 鼠标输入方式: 手动模式: 自动模式: 键盘输入方式: 绝对直角坐标 相对直角坐标 绝对极坐 ...

  5. JDBC——CreateStatement和PrepareStatement作用区别

    本文主要讲了PrepareStatement和CreateStatement的作用区别,大家可以一起学习!走后端的小伙伴都会必修JDBC,在前段时间作者实训期间,看到老师举例的时候用了CreateSt ...

  6. 使用stringstream打破字符与其他类型之间的隔阂

    考虑这样一个问题:给您一行各位数字,计算它们的和.数字之间用空格隔开.只能使用字符串. 一般考虑使用getchar,但这对于不熟悉 ASCLL 码的同学十分困难.C++的sstream头文件中提供了十 ...

  7. AI: 字体设计中的贝塞尔曲线

    http://www.xueui.cn/tutorials/illustrator-tutorials/designers-must-know-the-secret-of-the-bezier-cur ...

  8. lua学习之基础概念篇

    基础概念 程序块 (chunk) 定义 lua 中的每一个源代码文件或在交互模式(Cmd)中输入的一行代码都称之为程序块 一个程序块就是一连串语句或者命令 lua 中连续的语句不需要分隔符,但为了可读 ...

  9. Spacemacs安装

    Spacemacs官网 为什么选择Spacemacs Spacemacs是一个已经配好的Emacs和Vim,正如官网所说的The best editor is neither Emacs nor Vi ...

  10. BZOJ 2161 布娃娃(权值线段树)

    题意 给n<1e5个娃娃,每个娃娃有属性\(p\),\(c\),\(l\),\(r\)(均在ll范围内),问你对每个娃娃\(i\),满足所有\(l_j\leq p_i\leq r_j\)的娃娃\ ...