前言 在学习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 密码。
选择 SA 用户要使用的强密码。使用 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
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 ""
如果成功,应会显示 sqlcmd 命令提示符:1>
在这里我提供一个一个破解版的下载链接
「这里我因为是个人学习所以没有太多钱去支持正版, 但是有钱我一定会购买正版的!」
如有商业用途请绕道
网盘链接
提取码: xc3p
如图配置你的Navicat就好了
提示:在之前的配置过程中一定要记牢自己的password,不要忘了。 如果提示:
Login failed for user ‘SA’. (18456)
就是密码输入错误。 我也没有太好的解决方案,只能重新配置。
总结
以上就是在Mac上配置SQL Server on Docker的全部过程。
希望对大家的学习有所帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)