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/
环境介绍:IP:192.168.5.20
版本7.3 Centos
(1)下载sql server的源,便于通过yum命令来安装
curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo > /etc/yum.repos.d/mssql-server.repo
我们使用上面的命令就跟vim /etc/yum.repos.d/mssql-server.repo (在/etc/yum.repose.d下创建一个mysql-server.repo文件)
开始安装MSQLSERVER
yum install -y mssql-server
安装完成
我们查看版本
rpm -qa | grep mssql
查看安装路劲
find / -name mssql
我们通过mssql完成的提示需要进行配置
具体配置路劲为/opt/mssql/bin/mssql-conf 进行配置
cd /opt/mssql/bin
./mssql-conf
我们只想后提示需要后面添加参数,
然后我们执行 ./mssql-conf -h 进行帮助提示
所以我们需要配置执行 ,执行以下命令进行sql server的配置
./mssql.conf setup
我们执行过程中向设置MSSql的密码为123456的时候,提示说密码不符合SQL Server
Password policy,所我们需要设置复杂的密码
sql
server的系统管理员sa的密码,要求密码最少8个字符、数字、非字母数字符号等。
重新执行脚本
./mssql.conf setup
同意许可,输入y,
输入SQL Server 的管理员密码(sa),通过验证会提示完成
接下来我们启动mssql服务
systemctl start mssql-server
systemctl enable mssql-server
然后我们查看端口状态
SQL Server 的1433端口已经被监听了
设置防火墙
要连接数据库,首先要打开防火墙上1433端口,也就是,增加tcp端口1433到公共区域,并且永久生效。
firewall-cmd --add-port='1433/tcp' --permanent
firewall-cmd --reload
我们先通过windows下的SQL Manager Studio 连接一下
接下来我们使用linux本地进行连接,我们首先需要下载客户端工具的源、安装客户端工具
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
yum install -y mssql-tools
连接sql sever
这里用sqlcmd来连接sql
server,下面是一些命令行参数。我们已经安装了确实提示没有这个命令
我们需要配置环境变量
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
我们为了后期使用shell也可以使用我们需要添加一下变量
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
接下来我们再次尝试使用sqlcmd命令
接下来我们连接数据库
这里的-S是指定服务器名称,-U指定用户名,回车后会提示输入密码。
sqlcmd -S localhost -U sa -P <Password>
回车会提示输入密码
查询系统下的所有数据库
SELECT Name from sys.Databases;
GO
创建一个数据库为testdb
CREATE DATABASE testdb;
GO
我们再次查看系统下的所有数据库
SELECT Name from sys.Databases;
GO
接下来我们需要选择该数据库
USE testdb;
GO
接下来我们需要创建一张表,表的名称为:testtb
CREATE TABLE testtb (id INT, name NVARCHAR(50), quantity INT);
GO
然后我们给表中插入数据
INSERT INTO testtb VALUES (1, 'banana', 150);
INSERT INTO testtb VALUES (2, 'orange', 154);
GO
接下来我们查询表中的信息
SELECT * FROM testtb ;
GO
接下来我们使用windows下的SSMS 进行查看
使用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
安装步骤我们跳过了
下载后安装我们就可以使用系统自带的Powershell进行管理了(前提我们已经安装了刚才下载的SSMS工具才可以使用系统自带的Powershell)
我们首先需要导入sql的模块
import-module sqlserver
验证SQLServer模块状态
Get-Module -Name SqlServer
接下来我们使用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进行执行脚本
然后我们开始编写powershell脚本;
执行提示需要输入SQL Server的账户及密码
我的执行结果信息显示不全,应该显示系统的版本:比如linux等。
最后,我们再说一下,如何使用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的账户及密码验证一下即可
执行后我们就可以看见操作结果
最后我们就可以使用powershell操作sqlserver了
操作命令跟我们在本地的命令是一样的;sqlcmd
其实通过想通过powershell连接SQL
Server还有另外一种方法--这样的方法是最常见、也是最方便的使用方法,其实Linux下的使用mysql也是同样的方法,只是参数不同而已
首先是导入sql server模块
import-module sqlserver
sqlcmd -S 192.168.5.20 -U sa -P 的方式也是可以的
其实接下来的所有操作跟我们在windows上的使用powershell是一样的
同样使用帮助命令进行操作
get-help sqlserver
因为需要下载安装一下帮助命令所以比较慢,在此我就不等了
接下来我们使用powershell管理一下我们的SQL数据比如我们查看当前系统有哪些数据库
select name from sys.databases;
go
接下来我们创建一个数据库,然后插入数据
create database xll;
go
然后我们选择数据库
use xll;
go
接下来我们创建一张表,在刚才选择的数据库下
create table xllinfo (id int ,name varchar(50),quantity int);
go
我们查看当前的表信息
select * from xllinfo;
go
然后我们给表中插入数据
INSERT INTO testtb VALUES (1, 'zs', 27);
INSERT INTO testtb VALUES (1, 'ls', 29);
go
我们继续查询
select * from xllinfo;
go
接下来我们在SSMS下也确认一下