Centos 7.3下 Linux For SQL Server安裝及配置介紹



Centos 7.3下 Linux For SQL Server安裝及配置介紹

Centos 7.3下Linux For SQL Server安裝及配置介紹

說到SQL Server服務,我們大家都知道是Microsoft公司的數據庫服務,當然說到數據庫,現在主要分為三大商:1:Oracle、2:Msql Server、3:Mysql;三種數據庫在當下環境受到不了不同程度的關注;比如oracle主要應用到大型的商業比較多,比如銀行;SQL Server主要在常見的互聯網公司使用;mysql主要應用於小型的企業或者服務商使用;當然從費用上來說,Oracle是最貴的,也是最為穩定的;SQL Server也是比較貴的,但是相比Oracle稍微低點,最后我們說到的Mysql也是做開發人員經常用到的,也是管理人員經常做測試 用到的,因為是免費的,好了廢話不多說了,開始進入正題,我們今天主要介紹的是Centos 7.3下安裝 Linux For SQL Server及配置介紹,2016年接近年底微軟公告說要出一款在Linux下可以運行的SQL Server了,當然現在已經發布了,對於功能及穩定上,需要進行測試,今天我們首先介紹的是測試,后續我們會將Linux For SQL Server寫成一個集合,如有興趣的可以參考學習。

我們知道在Linux下安裝服務有很多方式,最為簡單的也就是yum安裝,但是很多服務通過yum是無法安裝的,如果想使用yum安裝,需要指定yum安裝倉庫,我們今天需要安裝MSQL Server,所以需要指定微軟的yum源;

https://packages.microsoft.com/

clipboard

環境介紹:IP:192.168.5.20

clipboard

版本7.3 Centos

clipboard

(1)下載sql server的源,便於通過yum命令來安裝

clipboard

curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo > /etc/yum.repos.d/mssql-server.repo

clipboard

我們使用上面的命令就跟vim /etc/yum.repos.d/mssql-server.repo (在/etc/yum.repose.d下創建一個mysql-server.repo文件)

clipboard

clipboard

開始安裝MSQLSERVER

yum install -y mssql-server

clipboard

安裝完成

clipboard

我們查看版本

rpm -qa | grep mssql

clipboard

查看安裝路勁

find / -name mssql

clipboard

我們通過mssql完成的提示需要進行配置

具體配置路勁為/opt/mssql/bin/mssql-conf 進行配置

clipboard

cd /opt/mssql/bin

clipboard

./mssql-conf

我們只想后提示需要后面添加參數,

然后我們執行 ./mssql-conf -h 進行幫助提示

clipboard

所以我們需要配置執行 ,執行以下命令進行sql server的配置

./mssql.conf setup

我們執行過程中向設置MSSql的密碼為123456的時候,提示說密碼不符合SQL Server Password policy,所我們需要設置復雜的密碼

sql server的系統管理員sa的密碼,要求密碼最少8個字符、數字、非字母數字符號等。

clipboard

重新執行腳本

./mssql.conf setup 同意許可,輸入y, 輸入SQL Server 的管理員密碼(sa),通過驗證會提示完成

clipboard

接下來我們啟動mssql服務

systemctl start mssql-server systemctl enable mssql-server

clipboard

然后我們查看端口狀態

SQL Server 的1433端口已經被監聽了

clipboard

設置防火牆

要連接數據庫,首先要打開防火牆上1433端口,也就是,增加tcp端口1433到公共區域,並且永久生效。

firewall-cmd --add-port='1433/tcp' --permanent firewall-cmd --reload

clipboard

我們先通過windows下的SQL Manager Studio 連接一下

clipboard

接下來我們使用linux本地進行連接,我們首先需要下載客戶端工具的源、安裝客戶端工具

curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo

clipboard

yum install -y mssql-tools

clipboard

連接sql sever

這里用sqlcmd來連接sql server,下面是一些命令行參數。我們已經安裝了確實提示沒有這個命令

clipboard

我們需要配置環境變量

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

clipboard

我們為了后期使用shell也可以使用我們需要添加一下變量

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc

clipboard

接下來我們再次嘗試使用sqlcmd命令

clipboard

接下來我們連接數據庫

clipboard

這里的-S是指定服務器名稱,-U指定用戶名,回車后會提示輸入密碼。

sqlcmd -S localhost -U sa -P <Password>

回車會提示輸入密碼

clipboard

clipboard

查詢系統下的所有數據庫

SELECT Name from sys.Databases; GO

clipboard

創建一個數據庫為testdb

CREATE DATABASE testdb; GO

clipboard

我們再次查看系統下的所有數據庫

SELECT Name from sys.Databases; GO

clipboard

接下來我們需要選擇該數據庫

USE testdb; GO

clipboard

接下來我們需要創建一張表,表的名稱為:testtb

CREATE TABLE testtb (id INT, name NVARCHAR(50), quantity INT); GO

clipboard

然后我們給表中插入數據

INSERT INTO testtb VALUES (1, 'banana', 150); INSERT INTO testtb VALUES (2, 'orange', 154); GO

clipboard

接下來我們查詢表中的信息

SELECT * FROM testtb ; GO

clipboard

接下來我們使用windows下的SSMS 進行查看

clipboard


使用Powershell管理Linux 下的 SQL Server

使用Powershell管理Linux 下的 SQL Server

我們上一篇文章介紹了在Centos 7.3下安裝及配置 SQL Server,今天我們主要介紹的是如何在Windows下使用Powershell來管理Linux下的SQL Server,其實說到Powershell大家都已經很熟悉了,Powershell不止是命令集合也是批量程序,可以很好的協助管理員提高日常的運維工作,但是微軟的Powershell有一個毛病就是不同的服務需要安裝不同的Powershell,對於Lync下的Shell、Exchange Shell和系統自帶的Powershell就有很大的區別,另外還有今天我們介紹的內容使用Powershell管理SQL Server,需要安裝單獨的SSMS才可以使用powershell導出sql的模塊,如果使用系統再帶的Powershell導入sqlserver模塊的話會提示錯誤,希望后期微軟能徹底解決這個問題。好了不多說了,言歸正傳,開始我們今天的介紹;

我們首先得知,SQL Powershell 包含在 SQL Server Manager Studio上的,所以我們只需要下載對應的SSMS即可;下載鏈接

https://docs.microsoft.com/en-us/sql/ssms/sql-server-management-studio-ssms

clipboard

安裝步驟我們跳過了

clipboard

下載后安裝我們就可以使用系統自帶的Powershell進行管理了(前提我們已經安裝了剛才下載的SSMS工具才可以使用系統自帶的Powershell)

clipboard

clipboard

我們首先需要導入sql的模塊

import-module sqlserver

clipboard

驗證SQLServer模塊狀態

Get-Module -Name SqlServer

clipboard

接下來我們使用powershell鏈接SQL Server 然后獲取server信息

# Prompt for credentials to login into SQL Server $serverInstance = "<your_server_instance>" $credential = Get-Credential # Load the SMO assembly and create a Server object [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null $server = New-Object ('Microsoft.SqlServer.Management.Smo.Server') $serverInstance # Set credentials $server.ConnectionContext.LoginSecure=$false $server.ConnectionContext.set_Login($credential.UserName) $server.ConnectionContext.set_SecurePassword($credential.Password) # Connect to the Server and get a few properties $server.Information | Select-Object Edition, HostPlatform, HostDistribution | Format-List # done

我們為了方便我們使用Powershell ISE進行執行腳本

clipboard

然后我們開始編寫powershell腳本;

clipboard

執行提示需要輸入SQL Server的賬戶及密碼

clipboard

我的執行結果信息顯示不全,應該顯示系統的版本:比如linux等。

clipboard

最后,我們再說一下,如何使用powershell管理SQL Server on Linux呢

首先是通過在powershell下導入sql的模塊

import-module sqlserver

然后使用powershell連接sqlserver,連接sql server的powershell我們可以使用以下方法

# Prompt for credentials to login into SQL Server $serverInstance = "<your_server_instance>" $credential = Get-Credential # Load the SMO assembly and create a Server object [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null $server = New-Object ('Microsoft.SqlServer.Management.Smo.Server') $serverInstance # Set credentials $server.ConnectionContext.LoginSecure=$false $server.ConnectionContext.set_Login($credential.UserName) $server.ConnectionContext.set_SecurePassword($credential.Password) # Connect to the Server and get a few properties $server.Information # done

輸入SQL Server的賬戶及密碼驗證一下即可

clipboard

執行后我們就可以看見操作結果

clipboard

clipboard

最后我們就可以使用powershell操作sqlserver了

操作命令跟我們在本地的命令是一樣的;sqlcmd

clipboard

其實通過想通過powershell連接SQL Server還有另外一種方法--這樣的方法是最常見、也是最方便的使用方法,其實Linux下的使用mysql也是同樣的方法,只是參數不同而已

首先是導入sql server模塊

import-module sqlserver sqlcmd -S 192.168.5.20 -U sa -P 的方式也是可以的

clipboard

其實接下來的所有操作跟我們在windows上的使用powershell是一樣的

同樣使用幫助命令進行操作

get-help sqlserver

clipboard

因為需要下載安裝一下幫助命令所以比較慢,在此我就不等了

接下來我們使用powershell管理一下我們的SQL數據比如我們查看當前系統有哪些數據庫

select name from sys.databases; go

clipboard

接下來我們創建一個數據庫,然后插入數據

create database xll; go

clipboard

然后我們選擇數據庫

use xll; go

clipboard

接下來我們創建一張表,在剛才選擇的數據庫下

create table xllinfo (id int ,name varchar(50),quantity int); go

clipboard

我們查看當前的表信息

select * from xllinfo; go

clipboard

然后我們給表中插入數據

INSERT INTO testtb VALUES (1, 'zs', 27); INSERT INTO testtb VALUES (1, 'ls', 29); go

clipboard

我們繼續查詢

select * from xllinfo; go

clipboard

接下來我們在SSMS下也確認一下

clipboard

clipboard


免責聲明!

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



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