如何在16.04上安装MSSQL Server和/或Linux for Tools?
这篇文章的创建是为了尝试成为’如何安装MSSQL服务器’和’我如何安装MSSQL服务器工具’问题的“捕获所有”规范问题/答案对。
我希望设置MS SQL Server for Linux,很可能是它的工具(在服务器本身或其他系统上),所以我可以与SQL Server进行交互。 我该怎么做呢?
这个答案涵盖了为任何16.04系统安装MSSQL Server和Tools。 它没有涉及在系统上获取MSSQL Server的Docker解决方案。 将通过SQL Server的Docker安装选项为MSSQL Server编写单独的答案。
仅来自Microsoft存储库的软件包中有几个不同的组件。
-
mssql-server
– 用于Linux预览的Microsoft SQL Server -
mssql-tools
–sqlcmd
等命令与MSSQL Server交互。
这里有一些邪恶的警告:
- 所有组件必须为16.04; 它不适用于旧版本。
- 目前,只有64位版本的软件包可供使用。 除非您使用的是64位系统,否则您将无法运行
mssql-server
,也可能无法运行这些工具。
以下所有命令均来自Microsoft建议的步骤。 由于此处介绍的某些过程(例如登录到超级用户shell)存在安全风险的性质,因此我不建议在完全遵循这些步骤之外使用其中一些命令。
mssql-server
安装步骤( 来源 )
这些步骤包括设置MS SQL Server for Linux Public Preview。 这和Docker方法是设置MSSQL Server for Linux的两种方法。
注意事项:
- 您需要为MSSQL Server安装64位系统。
- 系统上至少需要4GB的RAM才能安装MSSQL Server。
- 您必须拥有Ubuntu 16.04,其存储库服务器上目前没有其他版本。
要在Ubuntu上安装mssql-server
Package,请按照下列步骤操作:
-
进入超级用户模式。
sudo su
-
导入公用存储库GPG密钥:
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
-
注册Microsoft SQL Server Ubuntu存储库:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
-
退出超级用户模式。
exit
-
运行以下命令以安装SQL Server:
sudo apt-get update sudo apt-get install -y mssql-server
-
程序包安装完成后,运行配置脚本并按照提示进行操作。
sudo /opt/mssql/bin/mssql-conf setup
-
配置完成后,validation服务是否正在运行:
systemctl status mssql-server
请参阅: 快速入门:安装SQL Server并在Ubuntu上创建数据库 。
mssql-tools
安装步骤( 源码 )
本节介绍如何设置包含sqlcmd
命令的mssql-tools
。 对于希望在Linux上使用sqlcmd
命令或其他Microsoft发起的实用程序与MSSQL Server进行交互的任何系统,都需要执行这些步骤。
(其他Python库不需要这与MSSQL交互,或其他实用程序,如DataGrip,它可以与服务器等交互,不需要mssql-tools
pacakge来操作。)
注意事项:
- 我没有为非64位系统找到这个版本。 您可能需要64位系统才能使这些工具正常工作。
- 您目前只能使用16.04上的工具。
-
进入超级用户模式
sudo su
-
导入公用存储库GPG密钥:
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
-
注册Microsoft Ubuntu存储库:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"
-
退出超级用户模式:
exit
-
更新源列表并运行安装命令:
sudo apt-get update sudo apt-get install mssql-tools
使用Docker(仅限amd64)
也可以使用Docker在Ubuntu上运行MSSQL Server。 这可以通过以下步骤仔细完成:
-
如果您使用的是Ubuntu 14.04 或Xenial(16.04)之前的任何其他版本 ,则需要安装比归档文件提供的更新版本的Docker。
如果是,请按照此页面上的说明进行操作。
如果没有,只需运行:
sudo apt-get install docker.io
-
validation您是否可以使用以下命令连接到本地Docker守护程序:
docker info
如果收到错误,例如
Cannot connect to the Docker daemon.
,您需要将自己添加到docker
组:sudo usermod -a -G docker
…其中
被替换为您的用户名。 您需要注销并重新登录才能使更改生效。 -
从Docker Hub中提取MSSQL映像:
docker pull microsoft/mssql-server-linux
-
在主机上创建一个目录,该目录将存储来自容器的数据,并将值保存在环境变量中以方便:
export DIR=/var/lib/mssql sudo mkdir $DIR
-
启动容器:
docker run \ -d \ --name mssql \ -e 'ACCEPT_EULA=Y' \ -e 'SA_PASSWORD=
' \ -p 1433:1433 \ -v $DIR:/var/opt/mssql \ microsoft/mssql-server-linux 将
替换为稍后将用于身份validation的唯一值。 -
validation容器是否已启动且没有错误:
docker ps -af name=mssql
如果
STATUS
列在STATUS
列下显示“Up …”,则表示一切正常运行。 但是,如果显示错误:CONTAINER ID ... STATUS ... ba79fa12fbf1 ... Exited (0) 3 seconds ago ...
…然后你可以使用
docker logs mssql
来获取更多信息。
要从应用程序连接到容器,只需指定端口1433。
默认情况下,首次run
时会启动容器。 您可以使用以下命令停止容器:
docker stop mssql
要删除容器,请先将其停止,然后运行:
docker rm mssql