在MAC上如何使用SQL Server

由于小编在这学期要学习数据库原理这门课程,需要用到SQL Server,然而大家都知道SQL Server目前是只能在Windows上使用,我们在mac电脑上如何使用呢?我们可以借助目前比较火的Docker来完成,接下来就给大家介绍如何在docker上部署。

Docker介绍

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

MacOS Docker 安装

使用 Homebrew 安装

macOS 我们可以使用 Homebrew 来安装 Docker。

Homebrew 的 Cask 已经支持 Docker for Mac,因此可以很方便的使用Homebrew Cask来进行安装,在终端运行以下命令:

$ brew cask install docker

安装成功:

==> Downloading https://download.docker.com/mac/stable/42716/Docker.dmg
######################################################################## 100.0%
==> Verifying SHA-256 checksum for Cask 'docker'.
==> Installing Cask docker
==> Moving App 'Docker.app' to '/Applications/Docker.app'.
  docker was successfully installed!

在载入Docker app后,点击 Next,可能会询问你的 macOS 登陆密码,你输入即可。之后会弹出一个 Docker 运行的提示窗口,状态栏上也有个小鲸鱼的图标。

手动下载安装

如果需要手动下载,请点击以下链接下载 Stable 或 Edge 版本的 Docker for Mac。

如同 macOS 其它软件一样,安装也非常简单,双击下载的 .dmg 文件,然后将鲸鱼图标拖拽到 Application 文件夹即可。

在MAC上如何使用SQL Server_第1张图片

从应用中找到 Docker 图标并点击运行。可能会询问 macOS 的登陆密码,输入即可。
点击顶部状态栏中的鲸鱼图标会弹出操作菜单。



在MAC上如何使用SQL Server_第2张图片

第一次点击图标,可能会看到这个安装成功的界面,点击 "`Got it!`" 可以关闭这个窗口。
在MAC上如何使用SQL Server_第3张图片

启动终端后,通过命令可以检查安装后的 Docker 版本。

docker --version                                  
Docker version 19.03.5, build 633a0ea

之后我们可以通过 docker info 来查看是否配置成功。

docker info 

镜像加速

鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com
在之前的版本中,Docker客户端有修改镜像的界面,但是更新版本之后,去除了这个界面,那怎么来修改镜像呢?网上都是Linux的教程,并没有Mac的教程,这两个系统之间文件目录有所差别,费了九牛二虎之力找到了daemon.json这个文件。

cd .docker

daemon.json就在这个文件夹,将里面的内容修改为:

{
    "experimental":false,
    "debug":true,
    "registry-mirrors":["http://hub-mirror.c.163.com"]
}

重启,Docker就会 应用配置的镜像地址。
在MAC上如何使用SQL Server_第4张图片
以上图片就是配置成功的样式。
我们也可以通过 docker info 来查看是否配置成功。

docker info
....
 Registry Mirrors:
  http://hub-mirror.c.163.com/
 Live Restore Enabled: false
 Product License: Community Engine

拉取并运行 SQL Server 容器映像

拉取并运行SQL Server 容器映像,参考了微软的官方开发文档.

从 Microsoft 容器注册表中拉取 SQL Server 2017 Linux 容器映像,打开我们的终端,输入命令:

sudo docker pull mcr.microsoft.com/mssql/server:2017-latest

这里会将sql server for linux docker下载到我们计算机上。

使用 Docker 运行容器映像

要使用 Docker 运行容器映像,可以从 Bash Shell (Linux/macOS) 或提升的 PowerShell 命令提示符使用以下命令。(也就是终端)。

sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=" \
   -p 1433:1433 --name sql1 \
   -d mcr.microsoft.com/mssql/server:2017-latest

备注:
密码应符合 SQL Server 默认密码策略,否则容器无法设置 SQL Server,将停止工作。 默认情况下,密码的长度必须至少为 8 个字符,并且必须包含以下四种字符中的三种:大写字母、小写字母、十进制数字和符号。 你可以通过执行 docker logs 命令检查错误日志。

下表对前一个 docker run 示例中的参数进行了说明:

参数 说明
-e “ACCEPT_EULA=Y” 将 ACCEPT_EULA 变量设置为任意值,以确认接受最终用户许可协议。 SQL Server 映像的必需设置。
-e “SA_PASSWORD= 指定至少包含 8 个字符且符合 SQL Server 密码要求的强密码。 SQL Server 映像的必需设置。
-p 1433:1433 将主机环境中的 TCP 端口(第一个值)映射到容器中的 TCP 端口(第二个值)。 在此示例中,SQL Server 侦听容器中的 TCP 1433,并对主机上的端口 1433 公开。
–name sql1 为容器指定一个自定义名称,而不是使用随机生成的名称。 如果运行多个容器,则无法重复使用相同的名称。
-d mcr.microsoft.com/mssql/server:2017-latest SQL Server 2017 Linux 容器映像。

要查看 Docker 容器,请使用 docker ps 命令。

sudo docker ps -a

应会看到与以下类似的输出:

CONTAINER ID        IMAGE                                        COMMAND                  CREATED             STATUS                     PORTS               NAMES
78c2deca0bd6        mcr.microsoft.com/mssql/server:2017-latest   "/opt/mssql/bin/nonr…"   30 minutes ago      Exited (0) 2 minutes ago                       sql1

如果“状态”列显示“正常运行”,则 SQL Server 将在容器中运行,并侦听“端口”列中指定的端口 。

更改 SA 密码

SA 帐户是安装过程中在 SQL Server 实例上创建的系统管理员。 创建 SQL Server 容器后,通过在容器中运行 echo $SA_PASSWORD,可发现指定的 SA_PASSWORD 环境变量。 出于安全考虑,请考虑更改 SA 密码。

  1. 选择 SA 用户要使用的强密码。
  2. 使用 docker exec 运行sqlcmd ,以使用 Transact-SQL 更改密码。 在下面的示例中,将旧密码 和新密码 替换为你自己的密码值。
sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
   -S localhost -U SA -P "" \
   -Q 'ALTER LOGIN SA WITH PASSWORD=""'

连接到 SQL Server

下列步骤在容器内部使用SQL Server命令行工具sqlcmd 来连接 SQL Server

  1. 使用 docker exec -it 命令在运行的容器内部启动交互式 Bash Shell。 在下面的示例中,sql1 是在创建容器时由 --name 参数指定的名称。
sudo docker exec -it sql1 "bash"
  1. 在容器内部使用 sqlcmd 进行本地连接。 默认情况下,sqlcmd 不在路径之中,因此需要指定完整路径。
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P ""
  1. 如果成功,应会显示 sqlcmd 命令提示符:1>。

利用Navicat可视化工具连接Sql Server

下载Navicat

因为正版只有14天的试用期,没Money的小编只有安排破解版了,在这里把安装包也分享给大家:

链接:https://pan.baidu.com/s/198LYSswTRqlVUmST8ZepeQ 密码:cg5s

下载好后添加Sql Server数据库连接:
在MAC上如何使用SQL Server_第5张图片

提示:密码一定不要填错,如果密码填错,会出现以下错误:

[42000] [FreeTDS][SQL Server]Login failed for user 'SA'. (18456)
[08001] [FreeTDS][SQL Server]Unable to connect to data source (0)

最后,连接成功!

以上就是小编本次给大家分享的在Mac上如何使用SQL Server的详细教程,另外如果大家想了解更多的技巧的可以去我的博客(相逢),我们一起讨论!如果哪里有写的不好的地方,还希望大家提出来,我加以修正!

你可能感兴趣的:(Mac,docker,sqlserver)