• 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

  • 相关阅读:
    Java实现线程的三种方法
    java 包和访问权限小结
    Java从外部调用类的私有方法
    find
    sigprocmask
    alerm和pause
    kill和raise
    信号处理中可重入函数调用
    低速系统调用的信号中断
    signal函数
  • 原文地址:https://www.cnblogs.com/ios9/p/9533404.html
Copyright © 2020-2023  润新知