在Linux环境下安装SQLserver2017

671 阅读3分钟

这是我参与「掘金日新计划 · 4 月更文挑战」的第一天,点击查看活动详情

如题,本文将展示如何在在Linux(centOS7)中安装SQLserver2017

前言:应甲方要求,应用服务器需要部署在Linux系统中,而且要用SQLserver。咱也没玩过Linux呀,没办法只能硬着头皮上了。  

首先你得有一个Linux环境,怎么装Linux 请自行百度。

注意,此处有个坑就是装环境的时候别最小化安装,不然后面装SQLserver会报错。

接下来就是重点了:开始安装SQLserver(我这是装的是2017)

1、下载 Microsoft SQL Server Red Hat 存储库配置文件:

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

2、运行以下命令,安装 SQL Server:

yum install -y mssql-server   运行此命令若报错就是环境的问题,不要装最小化

3、运行包安装完成后mssql-conf 安装并按照提示操作一步步走就是。

/opt/mssql/bin/mssql-conf setup

4、选择 SQL Server 的版本,大家按照自己需求选择

  1. Evaluation (免费,无生产许可,180 天限制)
  2. Developer (免费,无生产许可)
  3. Express (免费)
  4. Web (付费版)
  5. Standard (付费版)
  6. Enterprise (付费版)
  7. Enterprise Core (付费版)
  8. 我通过零售渠道购买了许可证并具有要输入的产品密钥。
1  我选的1

5、同意许可条款

yes

6、选择语言

10

7、设置SA账户密码(最少 8 个字符,包括大写和小写字母、十进制数字和/或非字母数字符号)

在安装的最后,系统会提示如下:

正在配置 SQL Server...

Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /usr/lib/systemd/system/mssql-server.service.
安装程序已成功完成。SQL Server 正在启动。

验证服务是否正在运行:

systemctl status mssql-server

如果运行结果如上(●正常是绿颜色的)就是服务正常运行了。

如果要允许远程连接,就要打开防火墙上的 SQL Server 端口

firewall-cmd --zone=public --add-port=1433/tcp --permanent

重启下

firewall-cmd --reload

 以上就完成了SQL Server 2017的安装,但还没完

安装 SQL Server 命令行工具

1、下载安装源。

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

2、安装mssql 工具与 unixODBC 开发人员包

yum update
yum install -y mssql-tools unixODBC-devel

3、同意相关许可 ** YES

4添加/opt/mssql-tools/bin/到环境变量

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

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

source ~/.bashrc

sqlcmd进行本地连接:

sqlcmd -S localhost -U SA

连接其他主机库:sqlcmd -S ip -U 用户名

如果成功,应会显示 sqlcmd 命令提示符:1>

如果出现以下报错

Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login timeout expired.

Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Timeout error [258]. .

Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Unable to complete login process due to delay in prelogin response.

将localhost换成127.0.0.1,再次连接

创建和查询数据

新建数据库:1> create database TestDB

2> select name from sys.Databases

3> go

插入数据:1> use testdb

2> go

已将数据库上下文更改为 "TestDB"。

1> create table user(id int, name nvarchar(50), quantity int)

2> go

1> insert into user values(1,'banana',150);

2> insert into user values(2,'orange',154);

3> go

查询数据:

1> select * from user

2> go

退出:quit

卸载SQL Server

为了移除Linux上运行的mssql-server包,使用如下命令:

sudo yum remove mssql-server

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

sudo rm -rf /var/opt/mssql/

结语:本人也是菜鸟,第一次用Linux,踩过不少坑。此贴也是自己做个记录归档。感谢大家,感谢掘金平台。