环境准备
  不废话,先把研究环境搭建起来。由于某些原因(晚点再说),本系列首先使用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. db2新添用户

    --1.新添用户  -目录 /XX/XX  -组  XX 用户名useradd -d /home/xx -g users xx--2.修改密码passwd xx--3.在QC中grant权限.新添表空 ...

  2. UVALive 3942 Remember The Word (Tire)

    状态是DAG,因此方案用dp统计,dp[i] = sum(dp[i+len(x)]),x是以i开头的前缀且是单词,关键在于快速判断一个前缀是不是单词,可用Trie. 每一次转移的复杂度是O(maxle ...

  3. 2019全套Java视频 免费赠送

    本人今年刚看完这套课程找到工作了 待遇还不错 现在送给大家 网盘链接:https://pan.baidu.com/s/1cEK6WoXS4F9SRgj1bZclqg提取码:bjl8希望对大家有用 一起 ...

  4. matlab启动

    直接在命令行输入matlab会报错 用这两个命令没问题 sudo /usr/local/MATLAB/R2013a/bin/matlab sudo /usr/local/MATLAB/R2013a/b ...

  5. Idea01 Idea2018中集成Tomcat9导致OutPut乱码

    版本和平台 idea2018.3 tomcat9 jdk1.8 windows7 64位 output乱码 经过测试,项目编码格式设置为utf-8,在main方法中输出中文正常. 而iedea集成to ...

  6. 第1节 flume:12、flume的load_balance实现机制

    1.5.flume的负载均衡load balancer 负载均衡是用于解决一台机器(一个进程)无法解决所有请求而产生的一种算法.Load balancing Sink Processor 能够实现 l ...

  7. 【SAM】bzoj5084: hashit

    做得心 力 憔 悴 Description 你有一个字符串S,一开始为空串,要求支持两种操作 在S后面加入字母C 删除S最后一个字母 问每次操作后S有多少个两两不同的连续子串 Input 一行一个字符 ...

  8. 【Python学习之五】高级特性3(切片、迭代、列表生成器、生成器、迭代器)

    3.列表生成器(List Comprehensions) 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式.举个例子,要生成list ...

  9. NodeJS基础入门-fs文件系统

    文件I/O是由简单封装的标准POSIX函数提供.通过require('fs') 使用该模块.所有的方法都有异步和同步的形式. 异步方法的最后一个参数都是一个回调函数.传给回调函数的参数取决于具体方法, ...

  10. MySQL 创建函数失败提示1418

    MySQL 创建函数失败提示1418 在创建函数时,往往会遇到创建函数失败的情形,除去书写的创建函数的sql语句本身语法错误之外,还会碰到一个错误就是, 1418:This function has ...