SQL Server on Linux 初体验

2019-03-21 10:37:29 浏览数 (1)

最近才无意中发现,原来微软已经在去年(2016年)的3月8日(一个特殊的日子)发布了SQL Server on Linux 版本,已经过去一年多了,我竟然才知道,真是大意了。无论怎样,还是先大概的试一下吧,至少先把数据库安装上看看长什么样子的吧。

先说下安装的前提条件:

1.CentOS(没提版本,最好是7.0以上吧,不确定6.x及以下的可不可以)、ubuntu 16.04或ubuntu 16.10,或docker等 2.要求内存最低3.25G 3.如果没有突发内存(即swap分区),不能安装,如部分不带swap分区的VPS就不能安装SQL Server

整体来说要求很高,下面开始安装体验。

之前看过其他的文章,说需要openssl 1.0.2以上版本,实际测试过程中发现并不需要;另外安装过程大概需要几分钟至几十分钟时间不等,取决于你的网络状态,下载服务器位于国外,会比较慢,最好是在screen下安装。我是在CentOS 7.1环境下安装的,下面简单说下安装过程:

1.添加centos的SQL Server源的配置文件:

代码语言:javascript复制
curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo > /etc/yum.repos.d/mssql-server.repo

2.使用yum安装SQL Server:

代码语言:javascript复制
yum install -y mssql-server

3.配置数据库:

代码语言:javascript复制
/opt/mssql/bin/mssql-conf setup

之后设置数据库sa账号的密码,要满足一定的复杂度,一般大小写英文 数字 特殊符号,长度8位以上,都可以满足。

4.查看数据库状态:

代码语言:javascript复制
systemctl status mssql-server

5.设置防火墙,把1433端口添加到例外:

代码语言:javascript复制
firewall-cmd --zone=public --add-port=1433/tcp --permanent
firewall-cmd --reload

6.更新:

代码语言:javascript复制
yum update mssql-server

7.卸载:

代码语言:javascript复制
yum remove mssql-server

卸载之后删除数据库文件:

代码语言:javascript复制
rm -rf /var/opt/mssql/

到这里数据库部分就安装完了,下面可以安装可选包:

一、安装SQL Server工具包:

1.安装

如果工具包是在其他Linux服务器上安装,需要先添加源:

代码语言:javascript复制
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo

之后安装:

代码语言:javascript复制
yum install mssql-tools unixODBC-devel

2.更新:

代码语言:javascript复制
yum check-update
yum update mssql-tools

二、安装全文检索:

1.安装:

代码语言:javascript复制
yum install -y mssql-server-fts

2.更新:

代码语言:javascript复制
yum check-update
yum update mssql-server-fts

以上过程完毕后,我们的数据库就彻底安装完了,下面是使用。

Linux下:

1.连接数据库:

需要安装SQL命令行工具,具体包含在前面安装的SQL可选工具包中,如果你已经安装了,那么使用下面的命令连接:

代码语言:javascript复制
sqlcmd -S localhost -U SA -P '你的SA账号的密码'

2.查询可用的数据库:

代码语言:javascript复制
SELECT Name from sys.Databases;
GO

3.创建数据库:

代码语言:javascript复制
CREATE DATABASE testdb;
GO

4.选择指定的数据库:

代码语言:javascript复制
USE testdb;
GO

5.建表:

代码语言:javascript复制
CREATE TABLE inventory (id INT, name NVARCHAR(50), quantity INT);
GO

6.向表中插入数据:

代码语言:javascript复制
INSERT INTO inventory VALUES (1, 'banana', 150);
INSERT INTO inventory VALUES (2, 'orange', 154);
GO

7.查询:

代码语言:javascript复制
SELECT * FROM inventory WHERE quantity > 152;
GO

8.退出SQL命令行:

代码语言:javascript复制
QUIT

Windows下连接:

可以使用SQL Server Management Studio (SSMS)、PowerShell和SQL Server Data Tools (SSDT)。

使用SQL Server Management Studio的话,需要安装新版本:https://go.microsoft.com/fwlink/?linkid=840957,之后使用方法与Windows下的一致。

以上。


本文作者:老徐

本文链接:https://cloud.tencent.com/developer/article/1405670

转载时须注明出处及本声明

0 人点赞