如何在Windows Server 2019上托管的Linux上安装SQL Server

528 阅读6分钟

本文探讨了Windows Subsystem for Linux(WSL)在Windows操作系统上运行Linux操作系统并在Linux上配置SQL Server。

简介

Windows Subsystem for Linux(WSL)是开发人员直接在Windows 10或Windows Server 2019系统上运行Linux的一种方式。微软开发了一个与Linux兼容的内核接口,用于运行Ubuntu、RedHat、SUSE等Linux。假设你有一台Windows Server 2019服务器,你想在上面配置一个Linux上的SQL Server。以前,你需要有一个单独的虚拟机来在Linux操作系统上运行SQL Server。现在,你可以利用WSL实现这一目的,快速部署。

  • 你可以从微软商店下载各种Linux发行版
  • 它允许你运行Bash shell脚本,Linux的JavaScript、Python、Ruby、C/C++命令
  • 你可以使用Linux发行版的软件包管理器安装额外的软件
  • 你可以在Windows上使用vim、emacs或tmux等工具。

Linux上的SQL Server的Windows Subsystem for Linux(WSL 2)介绍

Windows subsystem for Linux(WSL) 2提高了Windows操作系统上Linux的文件系统性能和系统调用能力。在下面这张来自微软文档的截图中,你可以看到WSL1、WSL2的对比。

Comparison of WSL1 and WSL2

本文在Oracle VirtualBox机器上实现了以下内容。

  • 使用VHD文件部署一个Windows Server 2019虚拟机
  • 为Linux配置Windows子系统
  • 在Linux操作系统上安装SQL Server on Linux ( 2019版)
  • 连接并查询SQL数据库

使用VHD文件部署Windows Server 2019虚拟机

对于这一步,你需要在你的系统上安装Oracle VirtualBox应用程序。你可以导航到网址www.virtualbox.org/[,并](www.virtualbox.org/)下载最新版本。

Download VirtualBox 6.1

它的安装是直截了当的。一旦Oracle VM VirtualBox安装完毕,导航到微软评估中心的Try Windows Server 2019,你会得到以下页面,下载Windows Server 2019评估版。这里你得到三个选项。

  • Azure:要在Azure基础设施上配置Windows Server 2019
  • ISO:下载Windows Server 2019的ISO文件
  • VHD:下载用于快速部署的虚拟硬盘(VHD)文件

Download Windows Server 2019 ISO

  • 注意:你可以使用Windows Server2019评估版180天,熟悉其功能

本文使用VHD文件进行快速部署。点击VHD(虚拟硬盘)并下载该文件。其大小约为8GB。

Save ISO

一旦Windows Server 2019 VHD文件被下载,启动Oracle VM VirtualBox Manager并创建新的。

在创建虚拟机时,输入以下信息。

  • 虚拟机名称
  • 虚拟机文件夹
  • 内存(RAM)大小
  • 硬盘。在硬盘中,选择选项 - 使用现有的虚拟硬盘文件。在这里,选择你从微软下载的VHD文件。

Create a VM with VHD

点击 "创建 "并启动虚拟机。它用VHD文件中的配置准备好虚拟机。

Windows getting starting

在准备的过程中,它要求提供键盘布局的信息。此外,接受微软的软件许可条款。

Accept license terms

在自定义设置页面,输入内置管理员账户的密码。

Specify Windows administrator credentials

点击完成,你的Windows Server 2019服务器就可以进行部署了。

为Linux上的SQL Server启用Windows Subsystem for Linux

为了在Windows Server 2019上运行Linux发行版,我们需要从Windows功能中启用 "Windows subsystems for Linux"。你可以从Windows GUI或使用Windows PowerShell命令来启用它。

要从图形界面启用该功能,启动服务器管理器 -> 管理 -> 添加角色和功能,并勾选Windows subsystems for Linux,如下图所示。

Enable the Windows Subsystem for Linux for SQL Server on Linux

点击 "下一步",按照功能向导的提示,在图形界面模式下安装WSL。或者,在管理员模式下打开Windows PowerShell,运行以下命令。

>Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

它提示你在重新启动计算机之前输入Y。这是一个快速启用WSL功能和配置虚拟机重启的过程。

Enable feature using Windows PowerShell

从微软商店下载一个Linux发行版

你可以从微软商店下载以下Linux发行版。要从商店下载,请搜索特定的发行版,并点击安装来下载和安装它。

或者,点击你选择的发行版,在虚拟机上下载它。

你也可以从Windows PowerShell下载Linux发行版。下面的查询使用Windows PowerShell下载Ubuntu 16.04。它使用 Invoke-WebRequest 从指定的 URL 下载软件库。

> Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile Ubuntu.appx -UseBasicParsing

Download a Linux distribution

一旦Ubuntu发行完成,使用expand-archive命令提取它。

>Rename-Item .\Ubuntu.appx .\Ubuntu.zip
 
    >Expand-Archive .\Ubuntu.zip .\Ubuntu

Extract archive

现在,浏览到Ubuntu目录并检查可执行文件的名称。对于Ubuntu 16.04,文件名是ubuntu1604.exe。

Check Linux installation file

执行Ubuntu1604.exe,它开始在Windows Server 2019上安装Ubuntu 16.04。使用WSL在Windows Server 2019上安装Ubuntu需要几分钟时间。

Start Linux installation

一旦你安装了Linux发行版,它会提示你指定发行版默认用户的凭证。这个账户将获得sudo(超级用户做)权限,以执行管理活动。如果你重置了Linux发行版的WSL,你也需要重置这个账户。你可以为Unix创建一个与本地Windows用户不同的用户。例如,我在演示中把sqladmin用户作为Windows管理员,把linuxadmin作为Unix管理员。

一旦你输入了Unix的用户名和密码,它就会配置用户并自动登录到Linux发行版。

例如,注意提示 - Linuxadmin@WIN-A96LOA99PE6。这里,Linuxadmin是用户,WIN- A96LOA99PE6是主机名。

Create a Linux administrator

现在,你可以运行Linux命令。例如,运行ls-la来检查目录。

Sample code

在Windows子系统Linux上安装SQL Server (2019)

我们在上一步中配置了一个Windows Server 2019虚拟机,并为Windows Subsystem for Linux(WSL)配置了它。现在,我们将在Ubuntu操作系统上安装SQL Server。

第1步:从微软软件包商店导入公共资源库密钥

在管理Windows PowerShell中运行以下命令。

> wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add –

Install SQL Server on Linux (2019)

第2步:注册Microsoft SQL Server 2019 Ubuntu资源库

在这一步,使用add-apt-repository为Linux上的Microsoft SQL Server 2019注册存储库。

> sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2019.list)"

Add repository

第3步:安装SQL Server

首先,使用以下命令执行apt资源库更新。

> sudo apt-get update

Update repository

使用apt-get命令安装SQL Server。

>sudo apt-get install -y mssql-server

Install SQL Server

最后,你会得到一个安装运行mssql-conf工具的提示,以执行微软SQL Server的完整设置。

Installation messages

SQL Server需要以下输入来完成SQL Server的配置。

  • SQL Server版本
  • 接受许可条款和条件
  • 指定SQL Server管理员密码
> sudo /opt/mssql/bin/mssql-conf setup

SQL Server edition

提供输入,你的SQL服务器在Windows Server 2019的Ubuntu Linux上已经准备就绪。

License terms and specify SQL SA password

你可以使用SQL Server Management Studio、Azure Data Studio或SQLCMD工具来连接SQL Server,创建数据库并执行查询。

如果你运行的是Windows 10,你可以按照[微软的文档],使用Window的子系统为Linux配置SQL Server。

为Linux上的SQL Server的Windows子系统重置Linux管理员密码

假设你想改变Windows Server 2019子系统的Linux管理员。为此,在管理Windows PowerShell中运行passwd命令,指定一个当前和新的密码。

Change or reset Linux administrator password

总结

在这篇文章中,我们了解了利用Windows子系统的Linux,可以在Windows操作系统上配置Linux。你不需要一个单独的虚拟机来运行Linux命令和工具。你可以在Linux子系统上运行SQL和NoSQL数据库MySQL、PostgreSQL、SQLite、MongoDB和Redis、Microsoft SQL Server。