本人新书上市,请多多关照:《SQL Server On Linux运维实战 2017版从入门到精通》
接上文:SQL Server On Linux(3)——SQL Server 2019 For Linux 下载并部署示例数据库
本文聊一下Linux,因为这个系列是Linux上的SQL Server,所以我们有必要初步了解一下这个基石,地基不稳那么上面搭建的东西也必然摇摇晃晃。
Linux的研究是一个比SQL Server还要大的课题,由于操作系统不仅搭载了数据库,还作为其他配置服务的载体而运行着,所以专业的Linux内容是无法在一文中介绍清楚。本文把关注点集中在与SQL Server相关的部分。
纵观身边的朋友所在企业使用的Linux版本,通常都是CentOS和Ubuntu ,其中CentOS居多。一些第三方软件会要求使用Red Hat,所以Linux版本的选择其实就没那么多了。从个人学习过程来看,如果可以选择的话,我会选择Ubuntu,很多地方确实比CentOS便利,但是这个选型并不是个人能够左右的。因此版本就不多说了。本系列还是使用CentOS 7来做演示。
与Windows有所不同的是,Linux只是一个“内核”,在正式使用之前需要做大量的配置操作,而且在后期,配置的变更也是有可能的,那么对Linux的配置需要做些什么?如果没头绪的话,我建议先从官方配置中着手。但是这里仅仅是初步配置,因为后续配置涉及性能优化和运维工作,到时再说。这里的目的是让SQL Server能够稳定地在Linux机器上运行。
题外话,除了各种技术因素之外,作者这10年经历中,越来越感受到各种规范化的重要性,所以如果可能,建议先从统一化、规范化着手。
当前环境
在开始之前我们先来了解一下默认情况下SQL Server所使用到的文件目录,这个时候对于初学者而言比较合适的办法是通过SSMS工具来查看。用SSMS打开服务器属性,首先关注的是当前内存,本机是3025MB,稍后会演示如何扩充。
上面的图可以理解为“服务器内存”,而下面的图可以理解为“SQL Server 内存”,如果没配置,默认的【最大服务器内存(MB)】值为2147483647(即2TB),所以通常看到这个值意味着最大内存没有配置。
再看一下下图,可以看到SQL Server的数据、日志及备份的初始化路径都在/var/opt/mssql/data下,在大部分情况下并不需要进行改动,但是在实际环境中,建议使用专用目录,同时这个目录是由专用设备(如SSD、RAID等)挂载出来的。
如果要知道SQL Server中新数据库的默认位置,那就要看系统库model中的配置,因为新数据库除非手工指定,否则都按model库的配置来创建。model库的默认位置如下图:
修改这些配置,一般有3个工具可以使用:第一个是mssql-conf,它类似于Windows平台的配置管理器,但是是命令行形式。第二个是环境变量。第三个就是我们熟悉的客户端管理工具如SSMS。接下来先演示mssql-conf。
使用mssql-conf修改
环境准备
看到这里我们就尝试第一个配置——修改目