Centos7安装SQL Server2017 for Linux

  • 2019-01-10
  • 303
  • 0

前不久得知微软官方发布了SQL Server 2017 for linux,使得SqlServer数据库可以运行在Linux内核的服务器上。按照微软官方的解释,SQL Server 2017 在所有支持的平台(包括 Linux)上具有相同的基础数据库引擎。 因此,在 Linux 上,许多现有功能运行方式相同。 

服务器上常见的系统+数据库的组合一般是Windows Server+SQL Server的组合,或者是Linux+Oracle的组合。但是,由于Linux具有比Windows更好的稳定性,所以一般情况下,服务器的系统会优先考虑Linux,但是数据库方面,由于Oracle高昂的售价,一般情况下中小企业还是会优先选择SQL Server,所以今天我们我们来尝试在Centos7上安装SQL Server 2017 for linux,并将其过程记录下来。

安装前的硬件条件:

RHEL 7.3 或者Centos7以上,至少2核心CPU&2GB的内存。

安装具体步骤:

若要在 RHEL(Centos方法相同)上配置 SQL Server,请执行以下命令:

1、下载 Microsoft SQL Server 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 安装命令并按照操作提示设置 SA 密码,并选择你的版本:

sudo /opt/mssql/bin/mssql-conf setup

4、选择SQL版本 Dev版本(免费版)输入2,下一次询问输入Yes 确认安装,下一次询问设置sa密码(注意需要满足一定的复杂性规则);
5、配置完成后,查看验证服务是否正在运行:

systemctl status mssql-server

6、如果需要正常使用,注意还需要防火墙开放1433端口;

7、使用客户端连接(如SSMS、Navicat)。

更改 TCP 端口:

Network.tcpport设置 SQL Server 侦听的连接的 TCP 端口的更改。 默认情况下,此端口设置为 1433。 若要更改端口,请运行以下命令:
使用“network.tcpport”的“set”命令以根用户身份运行 mssql-conf 脚本:

sudo /opt/mssql/bin/mssql-conf set network.tcpport <new_tcp_port>

重新启动 SQL Server 服务:

sudo systemctl restart mssql-server

现在连接到 SQL Server,必须在主机名或 IP 地址之后使用逗号 (,) 指定自定义端口,客户端连接与此一致。 例如,要使用 SQLCMD 进行连接,则需使用以下命令:

sqlcmd -S localhost,<new_tcp_port> -U test -P test

例如使用SSMS客户端连接,则主机名使用:IP,new_tcp_port

启用 SQL Server 代理:

请执行以下步骤:

sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true 
sudo systemctl restart mssql-server

卸载 SQL Server:

若要删除mssql server包在 Linux 上,请使用以下命令基于你的平台之一:
RHEL/Centos

sudo yum remove mssql-server

SLES

sudo zypper remove mssql-server

Ubuntu

sudo apt-get remove mssql-server

删除包不会删除生成的数据库文件。 如果你想要删除的数据库文件,使用以下命令:

sudo rm -rf /var/opt/mssql/

总结:

我们可以注意到安装过程除了下载取决于服务器的网速之外,安装过程相当简单快速(对比Linux环境下Oracle的安装部署),所以出于对服务器稳定性(遭受病毒攻击之类),以及部署的便捷性、极低的资源占用率考虑,以后在测试环境当中还是会优先使用SQL Server for linux,通过时间检验其数据库应用在Linux环境下的稳定性。

感谢打赏!
支付宝

回复

还没有任何回复,你来说两句吧

发表回复