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/
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve

环境介绍:IP:192.168.5.20

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_02

版本7.3 Centos

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_03

(1)下载sql server的源,便于通过yum命令来安装

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_04

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

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_05

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

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_06

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_07

开始安装MSQLSERVER

yum install -y mssql-server
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_08

安装完成

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_09

我们查看版本

rpm -qa | grep mssql
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_10

查看安装路劲

find / -name mssql
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_11

我们通过mssql完成的提示需要进行配置

具体配置路劲为/opt/mssql/bin/mssql-conf 进行配置
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_12

cd /opt/mssql/bin
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_13

./mssql-conf

我们只想后提示需要后面添加参数,

然后我们执行 ./mssql-conf -h 进行帮助提示
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_14

所以我们需要配置执行 ,执行以下命令进行sql server的配置

./mssql.conf setup
 

我们执行过程中向设置MSSql的密码为123456的时候,提示说密码不符合SQL Server Password policy,所我们需要设置复杂的密码

sql server的系统管理员sa的密码,要求密码最少8个字符、数字、非字母数字符号等。

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_15

重新执行脚本

./mssql.conf setup
同意许可,输入y,
输入SQL Server 的管理员密码(sa),通过验证会提示完成
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_16

接下来我们启动mssql服务

systemctl start mssql-server
systemctl enable mssql-server
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_17

然后我们查看端口状态

SQL Server 的1433端口已经被监听了

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_18

设置防火墙

要连接数据库,首先要打开防火墙上1433端口,也就是,增加tcp端口1433到公共区域,并且永久生效。

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

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_19

我们先通过windows下的SQL Manager Studio 连接一下

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_20

接下来我们使用linux本地进行连接,我们首先需要下载客户端工具的源、安装客户端工具

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

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_21

yum install -y mssql-tools
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_22

连接sql sever

这里用sqlcmd来连接sql server,下面是一些命令行参数。我们已经安装了确实提示没有这个命令

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_23

我们需要配置环境变量

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

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_24

我们为了后期使用shell也可以使用我们需要添加一下变量

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

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_25

接下来我们再次尝试使用sqlcmd命令

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_26

接下来我们连接数据库

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_27

这里的-S是指定服务器名称,-U指定用户名,回车后会提示输入密码。

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

回车会提示输入密码

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_28

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_29

查询系统下的所有数据库

SELECT Name from sys.Databases;
GO
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_30

创建一个数据库为testdb

CREATE DATABASE testdb;
GO
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_31

我们再次查看系统下的所有数据库

SELECT Name from sys.Databases;
GO
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_32

接下来我们需要选择该数据库

USE testdb;
GO
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_33

接下来我们需要创建一张表,表的名称为:testtb

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

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_34

然后我们给表中插入数据

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

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_35

接下来我们查询表中的信息

SELECT * FROM testtb ;
GO
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_36

接下来我们使用windows下的SSMS 进行查看

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_37

 

 

使用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

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_39

安装步骤我们跳过了

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_40

下载后安装我们就可以使用系统自带的Powershell进行管理了(前提我们已经安装了刚才下载的SSMS工具才可以使用系统自带的Powershell)

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_41

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_42

我们首先需要导入sql的模块

import-module sqlserver
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_43

验证SQLServer模块状态

Get-Module -Name SqlServer
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_44

接下来我们使用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进行执行脚本

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_45

然后我们开始编写powershell脚本;

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_46

执行提示需要输入SQL Server的账户及密码

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_47

我的执行结果信息显示不全,应该显示系统的版本:比如linux等。

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_48

最后,我们再说一下,如何使用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的账户及密码验证一下即可

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_49

执行后我们就可以看见操作结果

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_50

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_51

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

操作命令跟我们在本地的命令是一样的;sqlcmd

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_52

其实通过想通过powershell连接SQL Server还有另外一种方法--这样的方法是最常见、也是最方便的使用方法,其实Linux下的使用mysql也是同样的方法,只是参数不同而已

首先是导入sql server模块

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

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_53

其实接下来的所有操作跟我们在windows上的使用powershell是一样的

同样使用帮助命令进行操作

get-help sqlserver
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_54

因为需要下载安装一下帮助命令所以比较慢,在此我就不等了

接下来我们使用powershell管理一下我们的SQL数据比如我们查看当前系统有哪些数据库

select name from sys.databases;
go
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_55

接下来我们创建一个数据库,然后插入数据

create database xll;
go
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_56

然后我们选择数据库

use xll;
go
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_57

接下来我们创建一张表,在刚才选择的数据库下

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

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_58

我们查看当前的表信息

select * from xllinfo;
go
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_59

然后我们给表中插入数据

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

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_60

我们继续查询

select * from xllinfo;
go
 

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_61

接下来我们在SSMS下也确认一下

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_62

Centos 7.3下 Linux For SQL Server安装及配置介绍_Linux For SQL Serve_63

 
为人:谦逊、激情、博学、审问、慎思、明辨、 笃行
学问:纸上得来终觉浅,绝知此事要躬行
为事:工欲善其事,必先利其器。
转载请标注出处!