最近才无意中发现,原来微软已经在去年(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
转载时须注明出处及本声明