前言

在学习SQL Server过程中因为没有Windows电脑, 需要在mac上链接并使用Microsoft SQL Server。 而Microsoft官方并没有出SQL Server for Mac。 所以需要下载Docker来进行映射。

操作步骤

安装Docker

若没有安装Docker可以使用以下链接进行下载安装
Intel Chip的Mac
Apple Chip的Mac

镜像加速

如果因为网络问题拉取Docker镜像缓慢的话, 可以配置加速器。目前已知可以用网易的。
镜像地址:

http://hub-mirror.c.163.com

Terminal 中操作:

cd .docker

修改文件

daemon.json

添加以下配置

"registry-mirros":["http://hub-mirror.c.163.com"]

或者
Docker GUI中如图修改
在这里插入图片描述
并在右下角点击应用重启
在这里插入图片描述
(由于我配置过了, 所以为灰色,更改过应该为蓝色)

检查是否配置成功

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

配置SQL Server

拉取并运行 SQL Server 容器映像

打开Terminal, 输入指令:

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

终端会自动将sql server for linux docker 下载到Mac中。

使用 Docker 运行容器映像

在Terminal中输入以下指令:

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

将<>替换成自己选定的密码(至少8位)

提示:密码应符合 SQL Server 默认密码策略,否则容器无法设置 SQL Server,将停止工作。 默认情况下,密码的长度必须至少为 8 个字符,并且必须包含以下四种字符中的三种:大写字母、小写字母、十进制数字和符号。

-e “ACCEPT_EULA=Y”
将 ACCEPT_EULA 变量设置为任意值,以确认接受最终用户许可协议

-p 1433:1433
将主机环境中的TCP端口映射到同期中的TCP端口

–name
自定义容器名

-d mcr.microsoft.com/mssql/server:2017-latest
为SQL Server 2017 Linux 容器映像

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

sudo docker ps -a

修改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 "<OldPw>" \
   -Q 'ALTER LOGIN SA WITH PASSWORD="<NewPw>"'

连接SQL Server

Terminal内交互

下列步骤在容器内部使用SQL Server命令行工具sqlcmd 来连接 SQL Server。 1. 使用 docker exec -it 命令在运行的容器内部启动交互式 Bash Shell。

sudo docker exec -it sql1 "bash"

在容器内部使用 sqlcmd 进行本地连接。 默认情况下,sqlcmd 不在路径之中,因此需要指定完整路径。

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourPw>"

如果成功,应会显示 sqlcmd 命令提示符:1>
在这里插入图片描述

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

在这里我提供一个一个破解版的下载链接
「这里我因为是个人学习所以没有太多钱去支持正版, 但是有钱我一定会购买正版的!」
如有商业用途请绕道
网盘链接
提取码: xc3p
在这里插入图片描述
如图配置你的Navicat就好了

提示:在之前的配置过程中一定要记牢自己的password,不要忘了。 如果提示:
Login failed for user ‘SA’. (18456)
就是密码输入错误。 我也没有太好的解决方案,只能重新配置。


总结

以上就是在Mac上配置SQL Server on Docker的全部过程。
希望对大家的学习有所帮助。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐