在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 運行的提示窗口,狀態欄上也有個小鯨魚的圖標。

手動下載安裝

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

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


從應用中找到 Docker 圖標並點擊運行。可能會詢問 macOS 的登陸密碼,輸入即可。
點擊頂部狀態欄中的鯨魚圖標會彈出操作菜單。




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

啟動終端后,通過命令可以檢查安裝后的 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就會 應用配置的鏡像地址。


以上圖片就是配置成功的樣式。 我們也可以通過 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=<YourStrong@Passw0rd>" \
   -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=<YourStrong@Passw0rd>” 指定至少包含 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 更改密碼。 在下面的示例中,將舊密碼 <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

下列步驟在容器內部使用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 "<YourNewStrong@Passw0rd>"
  1. 如果成功,應會顯示 sqlcmd 命令提示符:1>。

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

下載Navicat

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

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

下載好后添加Sql Server數據庫連接:


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

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

最后,連接成功!


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM