mssql是.NET的標配,一般使用.NET的人基本都用mssql。 以前mssql只能支持windows平臺,從微軟打出 擁抱開源 的口號開始,mssql的2017 版本,開始支持linux系統。 一開始,我是直接在centos中安裝mssql的,總的來說,比windows快很多。但是現在都使用容 ...
mssql是.NET的標配,一般使用.NET的人基本都用mssql。
以前mssql只能支持windows平臺,從微軟打出 擁抱開源 的口號開始,mssql的2017 版本,開始支持linux系統。
一開始,我是直接在centos中安裝mssql的,總的來說,比windows快很多。但是現在都使用容器技術,docker也確實給人帶來很多方便。
所以,我也棄用原有的直接在系統安裝的方式,在linux中安裝docker。並使用docker安裝mssql。
全程非常簡單,簡化了很多工作。只需要一條命令即可完成。你也可以參照官方文檔:
https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker?view=sql-server-ver15&pivots=cs1-bash
或者到docker hub中找到對應的幫助:
https://hub.docker.com/_/microsoft-mssql-server
執行這個命令:
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2017-latest
即可正常安裝。
重點來了,數據文件存放在哪?
裝完之後,我們的數據文件是存放在容器內部的,要物理備份,比較麻煩,而且如果不小心,把容器刪除了,數據文件也就沒有了。
所以,要在命令里,加多一個選項:
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -v /home/db_data:/var/opt/mssql -p 1433:1433 -d mcr.microsoft.com/mssql/server:2017-latest
就是這個:-v /home/db_data:/var/opt/mssql,在容器內加一個數據捲,其中/var/opt/mssql是容器內資料庫存放文件的目錄,我們把這個目錄映射到物理路徑:/home/db_data 。
這樣,你使用外部鏈接,創建資料庫。就可以在物理路徑:/home/db_data 下看到對應的文件。而且如果 mssql容器出現故障,要刪掉重新部署的話,物理路徑下的資料庫文件,還是會在那裡的。