环境准备
  不废话,先把研究环境搭建起来。由于某些原因(晚点再说),本系列首先使用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. UVA1610 PartyGame 聚会游戏(细节题)

    给出一组字符串D,要找一个字符串S使得D中一半小于等于S,另外一半大于S.输入保证一定有解.长度要尽量短,在此基础上字典序尽量小. 分类谈论,细节挺多的,比如'Z'. 其实直接暴就过了,没分类辣么麻烦 ...

  2. 禁止MySQL开机自动启动的方法

    这几天发现电脑卡机变慢了,还有一些卡,发现每次开机MySQL都会自动启动(明明我安装的时候选择了不开机自启,任务管理器启动列表中也没有,但就是自启了...) 1.打开服务列表 有两种方法,一是快捷键 ...

  3. Ubuntu18.04如何从英文界面更改为中文界面

    本文介绍如何将Ubuntu18.04安装后的英文界面,更改为中文界面,即系统语言由英文改为简体中文.注意,与安装中文输入法不同,两者也没有冲突. 首先进入设置(Setting),选择区域和语言(Reg ...

  4. Ubuntu 16.04 换国内源

    官方渠道,图形界面,操作简单,可以说对新手及其友好!! 依次打开:搜索,软件与更新,第一个和第三个勾上,下载自,其它,然后在中国条目下选择你想使用的镜像站点,然后点“选择服务器”,然乎点击“关闭”,选 ...

  5. eubacteria|endosymbiosis|基因转移

    5.11线粒体和叶绿体是通过内共生进化而来的 初始细胞俘获有功能的真细菌(eubacteria)进入细胞内,该细菌逐渐演化为细胞器,这种现象称为内共生(endosymbiosis),所以该细胞器携带细 ...

  6. PAT (Basic Level) Practise (中文)- 1010. 一元多项式求导 (25)

    http://www.patest.cn/contests/pat-b-practise/1010 设计函数求一元多项式的导数.(注:xn(n为整数)的一阶导数为n*xn-1.) 输入格式:以指数递降 ...

  7. Java基础面试操作题:Java代理工厂设计模式 ProxyFactory 有一个Baby类,有Cry行为,Baby可以配一个保姆 但是作为保姆必须遵守保姆协议:能够处理Baby类Cry的行为,如喂奶、哄睡觉。

    package com.swift; public class Baby_Baomu_ProxyFactory_Test { public static void main(String[] args ...

  8. error PRJ0019: 工具从 “正在执行生成后事件... ”

    error PRJ0019: 工具从"正在执行生成后事件..." 原因是属性->生成事件->生成后事件 命令行设置错误导致的,修改即可 因为path前面有空格,所以这里 ...

  9. PAT 乙级 1077

    题目 题目地址:PAT 乙级 1077 题解 本题没什么难度,但是要注意细节问题,下面简单来说一下: vector 把输入的学生打分存起来,直接用算法库中的 sort 函数给它们排个序,之后直接剔除首 ...

  10. Django项目SECRET_KEY等敏感信息保存

    在我们做完django项目后,向生产环境部署时,为了避免一些敏感信息被有心人利用,我们应该将其保护起来,比如说在settings配置中的一些密码等内容存在操作系统内,通过调用来使用,比如下面这种做法: ...