在MAC上如何使用SQL Server

由于小編在這學期要學習數(shù)據(jù)庫原理這門課程,需要用到SQL Server,然而大家都知道SQL Server目前是只能在Windows上使用,我們在mac電腦上如何使用呢?我們可以借助目前比較火的Docker來完成,接下來就給大家介紹如何在docker上部署。

Docker介紹

Docker 是一個開源的應(yīng)用容器引擎,基于 Go 語言 并遵從 Apache2.0 協(xié)議開源。

Docker 可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個輕量級、可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現(xiàn)虛擬化。

容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低。

MacOS Docker 安裝

使用 Homebrew 安裝

macOS 我們可以使用 Homebrew 來安裝 Docker。

Homebrew 的 Cask 已經(jīng)支持 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 運行的提示窗口,狀態(tài)欄上也有個小鯨魚的圖標。

手動下載安裝

如果需要手動下載,請點擊以下鏈接下載 StableEdge 版本的 Docker for Mac。

如同 macOS 其它軟件一樣,安裝也非常簡單,雙擊下載的 .dmg 文件,然后將鯨魚圖標拖拽到 Application 文件夾即可。


從應(yīng)用中找到 Docker 圖標并點擊運行??赡軙儐?macOS 的登陸密碼,輸入即可。
點擊頂部狀態(tài)欄中的鯨魚圖標會彈出操作菜單。


第一次點擊圖標,可能會看到這個安裝成功的界面,點擊 "Got it!" 可以關(guān)閉這個窗口。

啟動終端后,通過命令可以檢查安裝后的 Docker 版本。

docker --version                                  
Docker version 19.03.5, build 633a0ea

之后我們可以通過 docker info 來查看是否配置成功。

docker info 

鏡像加速

鑒于國內(nèi)網(wǎng)絡(luò)問題,后續(xù)拉取 Docker 鏡像十分緩慢,我們可以需要配置加速器來解決,我使用的是網(wǎng)易的鏡像地址:http://hub-mirror.c.163.com。
在之前的版本中,Docker客戶端有修改鏡像的界面,但是更新版本之后,去除了這個界面,那怎么來修改鏡像呢?網(wǎng)上都是Linux的教程,并沒有Mac的教程,這兩個系統(tǒng)之間文件目錄有所差別,費了九牛二虎之力找到了daemon.json這個文件。

cd .docker

daemon.json就在這個文件夾,將里面的內(nèi)容修改為:

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

重啟,Docker就會 應(yīng)用配置的鏡像地址。



以上圖片就是配置成功的樣式。
我們也可以通過 docker info 來查看是否配置成功。

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

拉取并運行 SQL Server 容器映像

拉取并運行SQL Server 容器映像,參考了微軟的官方開發(fā)文檔.

從 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=<YourStrong@Passw0rd>" \
   -p 1433:1433 --name sql1 \
   -d mcr.microsoft.com/mssql/server:2017-latest

備注:
密碼應(yīng)符合 SQL Server 默認密碼策略,否則容器無法設(shè)置 SQL Server,將停止工作。 默認情況下,密碼的長度必須至少為 8 個字符,并且必須包含以下四種字符中的三種:大寫字母、小寫字母、十進制數(shù)字和符號。 你可以通過執(zhí)行 docker logs 命令檢查錯誤日志。

下表對前一個 docker run 示例中的參數(shù)進行了說明:

參數(shù) 說明
-e "ACCEPT_EULA=Y" 將 ACCEPT_EULA 變量設(shè)置為任意值,以確認接受最終用戶許可協(xié)議。 SQL Server 映像的必需設(shè)置。
-e "SA_PASSWORD=<YourStrong@Passw0rd>" 指定至少包含 8 個字符且符合 SQL Server 密碼要求的強密碼。 SQL Server 映像的必需設(shè)置。
-p 1433:1433 將主機環(huán)境中的 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

應(yīng)會看到與以下類似的輸出:

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

如果“狀態(tài)”列顯示“正常運行”,則 SQL Server 將在容器中運行,并偵聽“端口”列中指定的端口 。

更改 SA 密碼

SA 帳戶是安裝過程中在 SQL Server 實例上創(chuàng)建的系統(tǒng)管理員。 創(chuàng)建 SQL Server 容器后,通過在容器中運行 echo $SA_PASSWORD,可發(fā)現(xiàn)指定的 SA_PASSWORD 環(huán)境變量。 出于安全考慮,請考慮更改 SA 密碼。

  1. 選擇 SA 用戶要使用的強密碼。
  2. 使用 docker exec 運行sqlcmd ,以使用 Transact-SQL 更改密碼。 在下面的示例中,將舊密碼 <YourStrong!Passw0rd>和新密碼 <YourNewStrong!Passw0rd> 替換為你自己的密碼值。
sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
   -S localhost -U SA -P "<YourStrong@Passw0rd>" \
   -Q 'ALTER LOGIN SA WITH PASSWORD="<YourNewStrong@Passw0rd>"'

連接到 SQL Server

下列步驟在容器內(nèi)部使用SQL Server命令行工具sqlcmd 來連接 SQL Server。

  1. 使用 docker exec -it 命令在運行的容器內(nèi)部啟動交互式 Bash Shell。 在下面的示例中,sql1 是在創(chuàng)建容器時由 --name 參數(shù)指定的名稱。
sudo docker exec -it sql1 "bash"
  1. 在容器內(nèi)部使用 sqlcmd 進行本地連接。 默認情況下,sqlcmd 不在路徑之中,因此需要指定完整路徑。
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"
  1. 如果成功,應(yīng)會顯示 sqlcmd 命令提示符:1>。

利用Navicat可視化工具連接Sql Server

下載Navicat

因為正版只有14天的試用期,沒Money的小編只有安排破解版了,在這里把安裝包也分享給大家:

鏈接:https://pan.baidu.com/s/198LYSswTRqlVUmST8ZepeQ 密碼:cg5s

下載好后添加Sql Server數(shù)據(jù)庫連接:


提示:密碼一定不要填錯,如果密碼填錯,會出現(xiàn)以下錯誤:

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

最后,連接成功!


以上就是小編本次給大家分享的在Mac上如何使用SQL Server的詳細教程,另外如果大家想了解更多的技巧的可以去我的博客(相逢),我們一起討論!如果哪里有寫的不好的地方,還希望大家提出來,我加以修正!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容