MacBook 安装 SQL Server

MacBook 安装 SQL Server

SQL Server 入门篇~ 如果你的电脑也是 Mac 系统,你会发现 SQL Server 并没有 Mac 版本的安装包。本文中介绍了如何使用 Docker 容器在 Mac 系统的电脑上安装 SQL Server。

去年就买了这本书:

但是一直没能有时间看,昨天想入个门,打开SQL Server 的官网之后彻底懵了,我们看到里面有提供 Mac 版本的安装包下载。

难道我要回头再打开我那台破 Windows 学 SQL Server?难道我要冒着自己用不好的风险把这台自己已经用习惯的 Mac 电脑装个 Linux 系统??

要不我还是把我前天刚刚卸载的 Docker 装回来试试 Docker 安装吧!

于是,在网上搜索教程。

参考一:MacOS Docker 安装
参考二:Docker 在 Mac 上安装 SQL Server 2017
参考三:Mac 下 Docker 容器运行 SQL Server 2017 方法讲解
参考四:Create Python apps using SQL Server on macOS

首先我需要把前天刚刚卸载的 docker 再安装起来,homebrew 可以直接安装:

Shell
1
brew cask install docker

不过你会发现这样安装的很慢,因为 docker 的安装包是 133MB,所以还是不如先用迅雷把安装包下载好再手动安装,下载地址:Docker.dmg

安装成功之后,双击打开它:

稍等一会儿,Docker 就会启动了。根据这个教程:MacOS Docker 安装,鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com。

在任务栏点击 Docker for mac 应用图标 -> Perferences… -> Daemon -> Registry mirrors。在列表中填写加速器地址即可。修改完成之后,点击 Apply & Restart 按钮,Docker 就会重启并应用配置的镜像地址了。

然后我们打开终端,通过运行docker info来查看是否配置成功。

Shell
1
2
3
4
5
6
$ docker info

······
Registry Mirrors:
http://hub-mirror.c.163.com/
······

接下来开始安装 SQL Server。

  1. 从 Docker 库中拉取镜像:
Shell
1
sudo docker pull microsoft/mssql-server-linux:2017-latest
  1. 拉取完之后,运行该镜像:
Shell
1
2
3
sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=1234qwer!' \
-p 1401:1433 --name sql1 \
-d microsoft/mssql-server-linux:2017-latest
  • 1234qwer!是设置的登录密码;
  • -e 'ACCEPT_EULA=Y'表示接受最终用户许可协议;
  • -p 1401:1433表示将主机环境(第一个值)上的 TCP 端口映射到容器中的 TCP 端口(第二个值),在此示例中,SQL Server 正在监听容器中的 TCP 1433,并将其暴露给主机上的端口 1401;
  • --name sql1表示为容器制定一个自定义名称,而不是随机生成的名称。如果需要运行多个容器,则不能使用相同的名称。
  • -d microsoft/mssql-server-linux:2017-latest表示 SQL Server 2017 Linux 容器映像。
  1. 要查看 Docker 容器,可以使用下面的命令:
Shell
1
2
3
$sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
767105f33a79 microsoft/mssql-server-linux:2017-latest "/opt/mssql/bin/sqls…" 2 days ago Exited (255) About an hour ago 0.0.0.0:1401->1433/tcp sql1
  1. 更改 SA 密码:
Shell
1
2
3
sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
-S localhost -U SA -P '1234qwer!' \
-Q 'ALTER LOGIN sa WITH PASSWORD="1234qwer!"'

-Q后面接的就是 SQL Server 语句。

  1. 连接到 SQL Server

首先使用该docker exec -it命令在正在运行的容器中启动交互式 bash shell:

Shell
1
sudo docker exec -it sql1 "bash"

如果你的这一步出错了,可以参考这篇教程:docker 端口映射或启动容器时报错

一旦进入容器,用 sqlcmd 本地连接。Sqlcmd 默认不在路径中,因此您必须指定完整路径。

Shell
1
opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '1234qwer!'

然后如果出现了>1就说明你连接成功了。接下来测试一些简单的 SQL Server 语句:

1
2
1> create database test;
2> go

SQL Server 语句在回车之后并不会立即运行,你需要在运行go才会运行。

最后我们再使用外部数据库客户端连接 SQL Server 数据库。

首先使用教程中给出的Navicat尝试:

连接测试成功!还能看到刚刚我们新建的test数据库。

再使用我正在使用的 DataGrip 作为尝试:

终于算是入门成功喽!

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×