[学习笔记]在Mac上安装SQLServer
⽬录
前⾔
在学习SQL Server过程中因为没有Windows电脑, 需要在mac上链接并使⽤Microsoft SQL Server。 ⽽Microsoft官⽅并没有出SQL Server for Mac。 所以需要下载Docker来进⾏映射。
操作步骤
安装Docker
若没有安装Docker可以使⽤以下链接进⾏下载安装
镜像加速
如果因为⽹络问题拉取Docker镜像缓慢的话, 可以配置加速器。⽬前已知可以⽤⽹易的。
镜像地址:
163
Terminal 中操作:
cd .docker
修改⽂件
daemon.json
添加以下配置
"registry-mirros":["163"]
或者
在Docker GUI中如图修改
并在右下⾓点击应⽤重启
(由于我配置过了, 所以为灰⾊,更改过应该为蓝⾊)
检查是否配置成功
docker重启容器命令docker info
···
Registry Mirrors:
163/
···
配置SQL Server
拉取并运⾏ SQL Server 容器映像
打开Terminal, 输⼊指令:
sudo docker pull mcr.microsoft/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/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/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的全部过程。
希望对⼤家的学习有所帮助。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。