在Linux服务器上安装SQL Server

先决条件
您必须具有RHEL 7.3,7.4,7.5或7.6机器,且内存至少为2 GB。
适用于: SQL Server(仅限Linux)
在本快速入门中,您将在Red Hat Enterprise Linux(RHEL)上安装SQL Server 2017。然后,您可以使用sqlcmd连接以创建第一个数据库并运行查询。
1.安装SQL Server
要在RHEL上配置SQL Server,请在终端中运行以下命令以安装mssql-server软件包:
1.下载Microsoft SQL Server 2017 Red Hat存储库配置文件:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
2.运行以下命令以安装SQL Server:
sudo yum install -y mssql-server
3. 程序包安装完成后,运行mssql-conf setup并按照提示设置SA密码并选择您的版本。
sudo /opt/mssql/bin/mssql-conf setup
(以下SQL Server 2017版本是免费许可的:Evaluation,Developer和Express。)
()
(注意:确保为SA帐户指定强密码(最小长度为8个字符,包括大写和小写字母,基数为10的数字和/或非字母数字符号)。)
4. 配置完成后,验证服务是否正在运行:
systemctl status mssql-server
5. 要允许远程连接,请在RHEL上的防火墙上打开SQL Server端口。默认的SQL Server端口是TCP 1433.如果您使用FirewallD作为防火墙,则可以使用以下命令:
要连接数据库,首先要打开防火墙上1433端口,也就是,增加tcp端口1433到公共区域,并且永久生效。
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
提示success,表示设置成功
sudo firewall-cmd --reload
提示success,表示设置成功
如果打开不了(提示:FielWallD is not runing 意思:FielWalld没有运行),可以:
①、通过systemctl status firewalld查看firewalld状态,发现当前是dead状态,即防火墙未开启
②、通过systemctl start firewalld开启防火墙,没有任何提示即开启成功。
③、再通过systemctl status firewalld查看firewalld状态,显示running即已开启了。
④、如果要关闭防火墙设置,可通过systemctl stop firewalld这条指令来关闭该功能。
(经测试:开启防火墙,软件无法正常运行,关闭可以正常运行!)
此时,SQL Server正在您的RHEL机器上运行并准备使用!
下面查看我们安装的sql server版本:

rpm -qa | grep mssql
查看安装的路径:
find / -name mssql
2.您可以根据需要使用以下命令,或SQL Server服务:
停止:sudo systemctl stop mssql-server
启动:sudo systemctl start mssql-server
重新启动:sudo systemctl restart mssql-server

  1. 安装SQL Server命令行工具
    要创建数据库,需要使用可在SQL Server上运行Transact-SQL语句的工具进行连接。以下步骤安装SQL Server命令行工具:sqlcmd和bcp。
    ①、下载Microsoft Red Hat存储库配置文件。
    sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
    ②、如果您安装了以前版本的mssql-tools,请删除所有旧的unixODBC软件包。
    sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
    ③、运行以下命令以使用unixODBC开发包安装mssql-tools。
    sudo yum install -y mssql-tools unixODBC-devel
    ④、为方便起见,请添加/opt/mssql-tools/bin/到PATH环境变量中。这使您可以在不指定完整路径的情况下运行工具。运行以下命令修改登录会话和交互/非登录会话的PATH:
    echo ‘export PATH=“ P A T H : / o p t / m s s q l − t o o l s / b i n " ′ > >   / . b a s h p r o f i l e e c h o ′ e x p o r t P A T H = " PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile echo 'export PATH=" PATH:/opt/mssqltools/bin">> /.bashprofileechoexportPATH="PATH:/opt/mssql-tools/bin”’ >> ~/.bashrc
    source ~/.bashrc
    4、在本地连接
    以下步骤使用sqlcmd本地连接到新的SQL Server实例。
  2. 使用SQL Server名称(-S),用户名(-U)和密码(-P)的参数运行sqlcmd。在本教程中,您将在本地连接,因此服务器名称为localhost。用户名是SA,密码是您在安装过程中为SA帐户提供的密码。
    sqlcmd -S localhost -U SA -P ‘’
    您可以在命令行上省略密码以提示输入密码。
    如果您以后决定远程连接,请指定-S参数的计算机名称或IP地址,并确保防火墙上的端口1433已打开。
  3. 如果成功,您应该进入sqlcmd命令提示符:1>。
  4. 如果连接失败,请首先尝试从错误消息中诊断问题。然后查看连接故障排除建议。
    (排除连接故障
    如果您在连接Linux SQL Server时遇到困难,可以检查一些事项。
    • 验证是否可以从客户端计算机访问服务器名称或IP地址。
    对于Red Hat,您可以使用ip addr,如以下示例所示:
    sudo ip addr show eth0 | grep “inet”
    • 如果适用,请检查您是否已在防火墙上打开SQL Server端口(默认为1433)。
    • 对于Azure VM,请检查您是否具有默认SQL Server端口的网络安全组规则。
    • 验证用户名和密码是否包含任何拼写错误或额外空格或不正确的大小写。
    • 尝试使用服务器名称显式设置协议和端口号,如下例所示:tcp:servername,1433。
    • 网络连接问题也可能导致连接错误和超时。验证连接信息和网络连接后,再次尝试连接。

    4.卸载与删除
    要在Linux上删除mssql-server软件包,请根据您的平台使用以下命令之一:

sudo yum remove mssql-server
删除程序包不会删除生成的数据库文件。如果要删除数据库文件,请使用以下命令:
sudo rm -rf /var/opt/mssql/
5. linux安装sqlcmd登录sqlserver
首先从微软网站下载sqlncli安装文件。
因为是在内网安装,首先手工下载unixODBC2.3.0.tar.gz,下载后上传到服务器。
将下载的tar文件文件,放在同build_dm.sh相同的位置,然后执行 ./build_dm.sh --download-url=file://unixODBC-2.3.0.tar.gz,中间过程中会有一个提示,输入YES继续。
执行完毕之后,按照提示cd到一个目录,然后make install,将会完成对unixODBC的安装,安装完成之后执行odbc_config -odbcinstini可以得到配置文件的位置,在执行后面的步骤之前可以提前备份配文件。
接着回到sqlncli目录,执行./install.sh verify,可以得到前五个检查项为OK就可以执行安装了。
执行./install.sh install进行安装,需要读完一段软件使用许可,输入YES才能继续,又见微软的版权。
出现提示installed就可以使用odbcinst -q -d -n "SQL Server Native Client 11.0"检查是否安装完成了。
最后,就可以使用sqlcmd进行数据库登陆了。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值