环境准备
  不废话,先把研究环境搭建起来。由于某些原因(晚点再说),本系列首先使用CentOS 7作为操作系统。官方指引中支持的Linux平台及文件系统中并没有指出CentOS,但是作为与Red Hat同源的Linux发行版,几乎与Red Hat无差别地使用。所以这里使用CentOS 7作为演示,下图是官方要求里面的部分截图。

  安装CentOS可以很简单,也可以很复杂,这里不想那么快提升复杂度,所以读者可以自行找一个虚拟机(今时今日没几台虚拟机在手很难学习这些系统级别的东西)然后安装CentOS即可。下面是本系列中使用的一些信息:

  在安装之前我们还需要习惯性检查一下环境,下面对上图的信息进行检查,分别对OS版本、文件系统、CPU和内存进行检查。

操作系统信息
  一般可以使用cat /etc/*-release 、cat /proc/version和lsb_release -a(不是每个Linux都预装) 来获取。下面演示第一和第二个命令,第三个命令由于在CentOS 7 中未预装,所以也就不额外安装演示。

/etc/*-release
  这是作者优先使用的命令,理由是第一个找到的命令。

/proc/version

文件系统信息
  这里要查询的是是否为XFS或EXT4及其空间大小是否足够,作者使用df -Th来实现,命令解释可以使用man df来获取,本机结果如下图,Type表示文件系统类型,Size是大小,不过注意由于df命令使用了h选项使其human-readable,所以在从KB转换成GB过程产生少量误差(即Size≠Used+Avail),但是这个无伤大雅。

  还可以用lsblk来实现,并且可能在某些情况下比df更直观:

CPU信息
  作者比较喜欢lscpu,查看CPU信息的命令有很多,包括查询其他信息,在Linux中很容易让初学者混乱,作者建议“够用就好”,然后在过程中收集一些命令并逐步完善一个列表,什么时候用什么命令。这可能是成长的最快方式,要相信“你的努力,时间看得见”。

内存
  这个比较常用free -m:

  上面的信息中的细节的东西以后再说。这里只演示如何获取必要的信息。

SQL Server 在线安装
  接下来我们进行默认安装,SQL Server On Linux可以在线、脱机(下载安装包)和无人值守安装,这里使用最常见的在线安装做演示,所以首先你的操作系统能访问公网。另外说一句,操作系统安装好之后,强烈建议更新Linux的软件版本。Ubuntu使用sudo apt-get update && sudo apt-get upgrade实现。CentOS使用su -c 'yum update'实现,如果不是使用***root***执行,则需要输入root密码。
  SQL Server On Linux的安装分3步:

配置软件存储库(software repository):实际上就是配置下载路径。
安装SQL Server:Linux会从存储库中找到安装路径然后自动下载并做初始化安装。
必要配置:主要是版本选择、sa密码。
说明
  假设你已经在Windows上安装过SQL Server 2008或以上版本(2005和2000有所不同,年代也久远,这里不讨论),那么在接下来你会感受得到很多不一样的地方,这里先做个概要说明:

无界面操作:虽然现在很多Linux版本也有界面,但是毕竟不是我们应该学习的东西。所以本系列坚持使用Server版的命令行形式进行。
安装、卸载速度快:如果在Windows上装过和卸载过SQL Server,会发现其实是一件很费时的操作。但是Linux则不同。
可选内容:Windows上的安装过程需要人工干预的地方非常多,这个有好有不好,好处是你在安装时大部分东西已经按需配置,不好的地方是当你要大批量安装相同的SQL Server时,时间和工作量很大。Linux上大部分的配置都是后续进行的,我们可以很快地安装完SQL Server的核心,然后通过shell脚本批量执行配置(当然Windows上也可以)。
安装包大小:本文发布之时,Linux上的SQL Server安装包仅仅是几百MB,而Windows上虽然包含的功能丰富,但是也意味着安装包很大,需要GB级别。
  接下来就实际演示安装过程,非常简单,本操作为了减少不必要的麻烦,均以root执行,如果读者不以root执行,请在各命令前加上sudo 并输入对应的密码

配置存储库并下载SQL Server 2019所需的Red Hat存储库配置文件:
# curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-preview.repo
1
  结果如下图:

安装SQL Server:
# yum install -y mssql-server
1
  部分过程略过,毕竟Linux的刷屏能力还是很强的

  如果看到下图的两个红框部分,证明成功完成:

  根据提示,要执行sudo /opt/mssql/ www.dfgjpt.com/ bin/mssql-conf setup来完成真正的安装。

设置SA密码并选择版本
   第三步本质上就是安装,这一步是安装过程的配置,使用的是mssql-conf setup命令,按照提示我们输入
# /opt/mssql/bin/mssql-conf setup
1
  命令执行后会看到下图中的提示,这是需要交互的,首先是选择版本,用过SQL Server的人应该都清楚,这里就不多说,一般建议使用评估版或者开发版,但是注意真正跟企业版完全一致的只有评估版,开发版有点差异,但是对大部分人来说这个差异没什么影响。同时注意有一个需要输入“yes”接受License。然手是sa的密码,这个密码强度当然要足够高,最后就是选择SQL Server的语言,如果是新装的环境,作者还是建议使用(1)即英语,毕竟这是老外的产品,在Windows上的SQL Server,作者也很少用简体中文,除非是直接升级当前系统(前提是这个系统也使用简体中文)。

  接下来Linux会继续安装步骤,当完成时会看到下图。

  到此为止,SQL Server引擎的安装就完成了,你可以用SSMS或者另外一个作者最近在研究的跨平台工具“SQL Operations Studio”来访问。如果发现访问不了,那很可能是防火墙的问题。

配置防火墙
  SQL Server使用TCP 1433作为默认端口,作者的Linux和网络环境控制相对较松,所以可以直接访问,但是如果在实际企业环境中,那么可能端口会默认被防火墙屏蔽,可以使用下面命令或者针对不同Linux发行版的对应命令来放行TCP 1433。
# firewall-cmd --zone=public --add-port=1433/tcp --permanent
# firewall-cmd --reload
1
2
  下面是本人使用SQL Operations Studio进行连接访问的截图:

  按照官方的顺序,还需要配置sqlcmd等,但是这里作为快速入门,不打算介绍,毕竟有SSMS等工具的情况下,sqlcmd几乎没有什么存在的必要(唯一可能要用到的场景可以看本人另外一篇文章:使用SQLCMD在SQLServer执行多个脚本)。
  作为本文的最后一步,就是检查一下SQL Server的服务状态:

# systemctl status mssql-server
1
  结果如图,服务是running状态。

  暂时不要关注太多命令细节,接下来的路还长着呢,本人写这系列的文章是为了深究技术细节,所以很快就会~

总结
  本文为了后续研究,快速地在CentOS 7 上安装了SQL Server 2019,这个过程忽略了官方教程中的其他部件,但是在需要的时候,也会一起安装上去。
  由于网上资料已经很多,所以本文不打算用一篇的篇幅来安装一个完整的SQL Server On Liunx环境,而是从逻辑上拆分出来,先有一个“可用”环境为主,接下来就要开始对这个环境进行折腾。折腾的内容从本文的截图红框开始。敬请期待!SQL Server On Linux(2)——SQL Server 2019 For Linux安装过程细节研究

命令总结
  作为非Linux专业人士,作者只能多练习,多总结,不管你觉得有没有用,作者还是打算在每篇文章中,尽可能列出用到的Linux命令,用于快速查找和整理。

操作系统信息:
OS 版本:`# cat /etc/*-release`、`# cat /proc/version`
1
文件系统:`# df -Th`、`# lsblk`
1
CPU信息:`# lscpu`
1
内存信息:`# free -m`
1
操作系统更新:
更新软件:`sudo apt-get update && sudo apt-get upgrade` 、`su -c 'yum update'`
1
防火墙:
开放端口:`# firewall-cmd --zone=public --add-port=1433/tcp --permanet` 然后 `# firewall-cmd --reload`
1
信息总结
  这部分的用处也是快速查找,因为作者对Linux还不够熟悉,很多信息需要反反复复查找,所以作者也对此进行总结:

SQL Server On www.thd540.com  Linux 默认服务账号:mssql
SQL Server www.06640.cn On Linux 默认数据库文件存放目录:/var/opt/mssql/data
SQL Server On Linux 错误日志(errorlog)默认目录:/var/opt/mssql/log

——CentOS 7 安装SQL Server2019的更多相关文章

  1. CentOS上安装SQL Server vNext CTP1

    今天微软正式发布上SQL Server 2016 SP1,根据以往的SP1定律,可以在生产环境上使用了.打了SP1的标准版将具有企业版几乎所有的的功能.只有RAM 超过128GB或者超过24核心或者超 ...

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

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

  3. centos 7 安装sql 审核工具 inception + archer

    系统环境: Centos7 + python2.7 + python3 .... 下载 源码地址:https://github.com/mysql-inception/inception Incept ...

  4. Centos 7.3下图文安装SQL Server

    以后工作都将与Linux打交道,对于.net忠实粉丝现在进入Linux还算幸运,因为.net core和asp.net core都已经跨平台了.今天没事想试试传说中的Linux Sql server是 ...

  5. CentOS随笔 - 5.CentOS7安装Sql Server 2017

    前言 转帖请注明出处: http://www.cnblogs.com/Troy-Lv5/ 开发环境嘛, 作为.Net系Sql Server那是必备的. 听过Sql server可以安装在Linux上了 ...

  6. Linux(CentOS)安装SQL Server

    1.下载Microsoft SQL Server Red Hat 存储库配置文件 curl -o /etc/yum.repos.d/mssql-server.repo https://packages ...

  7. Centos下安装mysql 总结

    一.MySQL安装 Centos下安装mysql 请点开:http://www.centoscn.com/CentosServer/sql/2013/0817/1285.html 二.MySQL的几个 ...

  8. Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)

    Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)   关于LAMP的各种知识,还请大家自行百度谷歌,在这里就不详细的介绍了,今天主要是介绍一下在Centos下安装,搭建一 ...

  9. 于CentOS 6 安装 Wordpress

    1.两种方式给Wordpress 首先,你可以去wordpress最新的官方网站看看wordpress多少下载.例wordpress 3.9.1下载地址: http://cn.wordpress.or ...

随机推荐

  1. 在一个另一个文件中 #include一个**dlg.h文件,会发生dlg的资源ID未定义的错误 :

    1    在一个另一个文件中 #include一个**dlg.h文件,会发生dlg的资源ID未定义的错误 : dlg1.h(23) : error C2065: 'IDD_DIALOG1' : und ...

  2. MySQL——数据库和 SQL 概念&&MySQL的安装

    数据库和 SQL 概念 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它的产生距今已有六十多年.随着信息技术和市场的发展,数据库变得无处不在:它在电子商务.银行系统等众多领域都 ...

  3. JAVA - Annotation 注解 入门

    Java注解提供了关于代码的一些信息,但并不直接作用于它所注解的代码内容.在这个教程当中,我们将学习Java的注解,如何定制注解,注解的使用以及如何通过反射解析注解. Java1.5引入了注解,当前许 ...

  4. (转发)IOS高级开发~Runtime(四)

    用C代替OC: #import <objc/runtime.h> #import <objc/message.h> #import <stdio.h> extern ...

  5. console.log与console.dir的区别

    今天学习promise的时候看到了console.dir这个方法,感到很好奇,查了以下感觉又长知识了 在Chrome中,控制台对象定义了两个似乎做同样事情的方法: console.log() cons ...

  6. #ifdef #else #endif #fi #ifndef 的用法

    预处理就是在进行编译的第一遍词法扫描和语法分析之前所作的工作.说白了,就是对源文件进行编译前,先对预处理部分进行处理,然后对处理后的代码进行编译.这样做的好处是,经过处理后的代码,将会变的很精短.   ...

  7. 浅谈一类「AC自动机计数」问题

    最近写了几道AC自动机的题.这几题主要考察的是对AC自动机的浅层理解套上计数. 几道计数题 [AC自动机]bzoj3172: [Tjoi2013]单词 把被动贡献看成主动贡献. [状态压缩dp]119 ...

  8. SSL免费证书申请以及nginx配置https流程记录

    设置https需要ssl 证书,可以通过FreeSSL[https://freessl.org/]申请. 流程记录: 输入域名,如 http://www.youdias.xin 选择品牌,如Let's ...

  9. 【android】【转发】Android中PX、DP、SP的区别

    转载 http://blog.csdn.net/donkor_/article/details/77680042 前言: 众所周知,Android厂商非常多,各种尺寸的android手机.平板层出不穷 ...

  10. COMP9021--6.17

    1. ''' '''the comment in the middle will be shown in your code while ranning 2. a=bc=a%bor we can si ...