如题,本文将展示如何在在 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 的版本,大家按照自己需求选择
Evaluation (免费,无生产许可,180 天限制)
Developer (免费,无生产许可)
Express (免费)
Web (付费版)
Standard (付费版)
Enterprise (付费版)
Enterprise Core (付费版)
我通过零售渠道购买了许可证并具有要输入的产品密钥。
5、同意许可条款
6、选择语言
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
复制代码
复制代码
结语:本人也是菜鸟,第一次用 Linux,踩过不少坑。此贴也是自己做个记录归档。感谢大家,感谢 infoq 大平台。
评论