SQL Server On Linux(1)——CentOS 7 安装SQL Server2019

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/DBA_Huangzj/article/details/82893653

前言

SQL Server 2019已经正式公布,虽然只是preview版,但是不影响我们追求新的技术。接下来的一个系列,随着本人的研究,尽量让这个系列成为“教程”,真正的入门到精通。

环境准备

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

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

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

操作系统信息

  一般可以使用cat /etc/*-releasecat /proc/versionlsb_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步:

  1. 配置软件存储库(software repository):实际上就是配置下载路径。
  2. 安装SQL Server:Linux会从存储库中找到安装路径然后自动下载并做初始化安装。
  3. 必要配置:主要是版本选择、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 并输入对应的密码

  1. 配置存储库并下载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

  部分过程略过,毕竟Linux的刷屏能力还是很强的
在这里插入图片描述
  如果看到下图的两个红框部分,证明成功完成:
在这里插入图片描述
  根据提示,要执行sudo /opt/mssql/bin/mssql-conf setup来完成真正的安装。

  1. 设置SA密码并选择版本
       第三步本质上就是安装,这一步是安装过程的配置,使用的是mssql-conf setup命令,按照提示我们输入
# /opt/mssql/bin/mssql-conf setup

  命令执行后会看到下图中的提示,这是需要交互的,首先是选择版本,用过SQL Server的人应该都清楚,这里就不多说,一般建议使用评估版或者开发版,但是注意真正跟企业版完全一致的只有评估版,开发版有点差异,但是对大部分人来说这个差异没什么影响。同时注意有一个需要输入“yes”接受License。然手是sa的密码,这个密码强度当然要足够高,最后就是选择SQL Server的语言,如果是新装的环境,作者还是建议使用(1)即英语,毕竟这是老外的产品,在Windows上的SQL Server,作者也很少用简体中文,除非是直接升级当前系统(前提是这个系统也使用简体中文)。
在这里插入图片描述
  接下来Linux会继续安装步骤,当完成时会看到下图。
在这里插入图片描述
  到此为止,SQL Server引擎的安装就完成了,你可以用SSMS或者另外一个作者最近在研究的跨平台工具“SQL Operations Studio”来访问。如果发现访问不了,那很可能是防火墙的问题。

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

  下面是本人使用SQL Operations Studio进行连接访问的截图:
在这里插入图片描述

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

# systemctl status mssql-server

  结果如图,服务是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`
    
  •  文件系统:`# df -Th`、`# lsblk`
    
  •  CPU信息:`# lscpu`
    
  •  内存信息:`# free -m`
    
  • 操作系统更新:
  •  更新软件:`sudo apt-get update && sudo apt-get upgrade` 、`su -c 'yum update'`
    
  • 防火墙:
  •  开放端口:`# firewall-cmd --zone=public --add-port=1433/tcp --permanet` 然后 `# firewall-cmd --reload`
    

信息总结

  这部分的用处也是快速查找,因为作者对Linux还不够熟悉,很多信息需要反反复复查找,所以作者也对此进行总结:

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

猜你喜欢

转载自blog.csdn.net/DBA_Huangzj/article/details/82893653
今日推荐