mssql安裝之后創(chuàng)建的數(shù)據(jù)庫文件需要中默認(rèn)的目錄下轉(zhuǎn)移到 '/mnt/mssql/data'目錄下面。原因:'/mnt' 為掛著的磁盤猜敢,后期可以隨時(shí)擴(kuò)容, 避免mssql數(shù)據(jù)庫文件過大導(dǎo)致系統(tǒng)盤空間占滿生棍。
安裝過程主要分兩步寺鸥, 第一步安裝mssql。 第二部創(chuàng)建數(shù)據(jù)庫然后轉(zhuǎn)移數(shù)據(jù)庫文件 *.mdf *.ldf
第一步
安裝 mssql
根據(jù)官網(wǎng)的提示進(jìn)行mssql的安裝
詳細(xì)教程如下 https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-linux-2017
1.下載 Microsoft SQL Server Red Hat 存儲(chǔ)庫配置文件:
$sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
2.運(yùn)行以下命令获印,安裝 SQL Server:
$sudo yum install -y mssql-server
3.軟件包安裝完成后述雾,運(yùn)行mssql conf 安裝命令并按照操作提示設(shè)置 SA 密碼,并選擇你的版本兼丰。
$sudo /opt/mssql/bin/mssql-conf setup
--提示:mssql版本選擇develop版本 (免費(fèi)玻孟,不可生產(chǎn)模式)
4.配置完成后,請(qǐng)驗(yàn)證服務(wù)是否正在運(yùn)行:
$systemctl status mssql-server
安裝 SQL Server 命令行工具
1.下載 Microsoft Red Hat 存儲(chǔ)庫配置文件鳍征。
$sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
2.如果你有以前版本的mssql 工具安裝黍翎,請(qǐng)刪除任何較舊的 unixODBC 程序包。
$sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
3.運(yùn)行以下命令以安裝mssql 工具與 unixODBC 開發(fā)人員包艳丛。
$sudo yum install -y mssql-tools unixODBC-devel
為方便起見匣掸,添加/opt/mssql-tools/bin/
到你的PATH境變量。 這使您可以運(yùn)行工具氮双,而無需指定完整路徑旺聚。 在登錄會(huì)話和交互式/非登錄會(huì)話中運(yùn)行以下命令以修改PATH:
$echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
$echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
$source ~/.bashrc
本地連接
1.使用 SQL Server 名稱 (-S),用戶名 (-U) 和密碼 (-P) 的參數(shù)運(yùn)行 sqlcmd眶蕉。 在本教程中砰粹,用戶進(jìn)行本地連接,因此服務(wù)器名稱為 localhost造挽。 用戶名為 SA碱璃,密碼是在安裝過程中為 SA 帳戶提供的密碼。
$sqlcmd -S localhost -U SA -P '<YourPassword>'
- 如果成功饭入,應(yīng)會(huì)顯示 sqlcmd 命令提示符:
1>
OK嵌器,現(xiàn)在你就可以SHOW 你的SQL語句了。 你可以通過SQL 創(chuàng)建數(shù)據(jù)庫谐丢,創(chuàng)建表爽航, 插入數(shù)據(jù) 和 查詢數(shù)據(jù)蚓让。另外,如果輸入SQL語句之后敲回車語句并不會(huì)馬上執(zhí)行讥珍,需要輸入 GO
+ 回車鍵 才能執(zhí)行SQL預(yù)計(jì)
3.退出 sqlcmd 命令提示符
$QUIT
第二步
通過上面的安裝數(shù)據(jù)庫 我們可以在 /var/opt/mssql/data/
看到上一步創(chuàng)建的數(shù)據(jù)庫文件历极。 接下來我們需要把新創(chuàng)建的數(shù)據(jù)庫文件.mdf 和 .ldf
轉(zhuǎn)移到 /mnt/mssql/data/
目錄下面 然后更改/mnt/mssql
目錄的權(quán)限和所有者 為 mssql。mssql用戶和用戶組是在安裝mssql的時(shí)候自動(dòng)創(chuàng)建的衷佃,否則mssql數(shù)據(jù)庫服務(wù)沒有權(quán)限對(duì)/mnt/mssql
目錄進(jìn)行讀取和寫入權(quán)限趟卸。到時(shí)數(shù)據(jù)庫文件加載失敗
假如我們創(chuàng)建的數(shù)據(jù)庫名稱為 myfirstdb
- 轉(zhuǎn)移數(shù)控文件
$cp -R /var/opt/mssql/data/myfirstdb.mdf /mnt/mssql/data/
$cp -R /var/opt/mssql/data/myfirstdb.ldf /mnt/mssql/data/
- 更改
/mnt/mssql
目前權(quán)限
$ cd /mnt
$chmod -R 755 ./mssql
$chown -R mssql mssql
$chgrp -R mssql mssql
執(zhí)行完以上命令之后我可以通過ls -l
查看一下目前權(quán)限
$ ls -ll /mnt/mssql
drwxr-xr-x 3 mssql mssql 4096 6月 3 15:56 mssql
- 進(jìn)入本地?cái)?shù)據(jù)庫中,轉(zhuǎn)移數(shù)據(jù)庫的文件目錄并掛起
3.1 進(jìn)入數(shù)據(jù)庫
$ sqlcmd -S localhost -U SA -P ‘?dāng)?shù)據(jù)庫密碼’
3.2 修改數(shù)據(jù)庫文件
ALTER DATABASE [myfirstdb] MODIFY FILE
(
NAME = [myfirstdb],
FILENAME = '/mnt/mssql/data/myfirstdb.mdf'
)
GO
ALTER DATABASE [myfirstdb] MODIFY FILE
(
NAME = [myfirstdb_log],
FILENAME = '/mnt/mssql/data/myfirstdb_log.ldf'
)
GO
quit
3.3 重新啟動(dòng)數(shù)據(jù)庫
systemctl restart mssql-server
3.4 再次進(jìn)入本地的數(shù)據(jù)庫氏义,然后通過命令掛起數(shù)據(jù)庫
alter database myfirstdb set offline
go
alter database myfirstdb set online
到目前為止 已經(jīng)大功告成