linux下安装sqlserver数据库有2种办法,第一使用yum镜像安装,第二使用rpm安装包安装

rpm安装地址为:https://packages.microsoft.com/rhel/7/mssql-server-2017/

使用rpm安装的话可能存在依赖问题,此处不做详细安装说明。

重点说一下yum方式安装,我们这里安装的版本为sqlserver2017,步骤如下:

一、要求

1.centos或redhat7.0以上系统

2.内存2G以上

二、安装步骤

1.设置sqlserver安装镜像

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

2.执行安装

yum install -y mssql-server

完毕之后运行 sudo /opt/mssql/bin/mssql-conf setup 做相关配置

 

 

服务器是否安装了mysql 服务器安装sqlserver数据库_Server

image

输入2使用Developer(免费,无生产许可)版本

 

 

服务器是否安装了mysql 服务器安装sqlserver数据库_服务器是否安装了mysql_02

image.png

输入yes,接受许可条款

 

 

服务器是否安装了mysql 服务器安装sqlserver数据库_Server_03

image.png

输入10,选择语言为简体中文

 

 

服务器是否安装了mysql 服务器安装sqlserver数据库_SQL_04

image.png

设置sa的账号密码,要求8位包含大小写字母和数字,推荐设置1234Qwer

完毕之后即可启动完成,如果内存不够安装失败则重新命令 sudo /opt/mssql/bin/mssql-conf setup

3.下面查看我们安装的sql server版本

rpm -qa | grep mssql

4.查看安装的路径

find / -name mssql

5.设置开机启动

systemctl enable mssql-server

6.打开1433端口

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

7.几个命令

systemctl start mssql-server
systemctl restart mssql-server
systemctl stop mssql-server
systemctl status mssql-server

具体配置路劲为/opt/mssql/bin/mssql-conf

=====================  其他方式 ======================

安装 SQL Server

  1. 下载 Microsoft SQL Server 2017 Red Hat 存储库配置文件:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo

提示

如果你想要试用 SQL Server 2019,则必须改为注册预览版 (2019) 存储库。 对于 SQL Server 2019 安装中使用以下命令:

sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-preview.repo
  1. 运行以下命令,安装 SQL Server:
sudo yum install -y mssql-server

服务器是否安装了mysql 服务器安装sqlserver数据库_服务器是否安装了mysql_05

  1. 程序包安装完成后,请运行 mssql-conf setup 命令并按提示设置 SA 密码,然后选择版本。
    ![设置密码](https://upload-images.jianshu.io/upload_images/8504906-912ea1519f1f4cec.png?imageMogr2/auto-orient/strip|imageView2/2/w/606/format/webp

备注

请确保为 SA 帐户指定强密码(最少 8 个字符,包括大写和小写字母、十进制数字和/或非字母数字符号)。

  1. 配置完成后,请验证服务是否正在运行:
systemctl status mssql-server

服务器是否安装了mysql 服务器安装sqlserver数据库_sql_06


5. 若要允许远程连接,请在 RHEL 上打开防火墙上的 SQL Server 端口。 默认的 SQL Server 端口为 TCP 1433。 如果对防火墙使用 FirewallD,可以使用以下命令:

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

SQL Server 目前正在 RHEL 计算机上运行,可以使用了!

安装 SQL Server 命令行工具

3.安装SQL Server客户端
   非常简单,执行“yum install mssql-cli -y”就可以安装成功了。

服务器是否安装了mysql 服务器安装sqlserver数据库_服务器是否安装了mysql_07



       这里需要说下的是,Microsoft官方是有几个命令行实用工具的,常见的是sqlcmd,这个是在SQL Server比较老的版本中就有的。安装sqlcmd的命令是:”yum install mssql-tools -y”,安装好的路径是/opt/mssql-tools,需要自己设置环境变量或者做链接才好用。

       不过,sqlcmd在Microsoft官方最新更新的一些源中已经不支持了。比如我选的这个源执行”yum install mssql-tools -y”就会报”No package mssql-tools available.Error: Nothing to do”,不能安装成功。

       而mssql-cli是SQL Server 2016开始支持的一个开源交互式命令行工具,提供了T-SQL智能感知、语法高亮、多行编辑、结果格式美化、支持配置文件等功能,个人感受比sqlcmd好用太多,推荐使用mssql-cli。

4.运行mssql-cli
   mssql-cli的使用跟mysql很像,不过参数有所区别。
   -S或--server 指定服务器地址,如果是默认的1433端口,那么不写也行;如果是其他端口的话,在后面加逗号和端口就行。
   -U或--username 指定用户名
   -P或--password 指定密码

服务器是否安装了mysql 服务器安装sqlserver数据库_sql_08

OK.现在就可以畅快地在Linux上跟访问MySQL一样访问SQL Server 数据库了

============================ 下面的过时了,新版本不在支持 ========================================

若要创建数据库,需要使用一个能够在 SQL Server 上运行 Transact-SQL 语句的工具进行连接。 以下步骤安装 SQL Server 命令行工具: sqlcmdbcp

sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
  1. 下载 Microsoft Red Hat 存储库配置文件。
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
  1. 如果你有旧版mssql 工具安装,请删除任何较旧的 unixODBC 包。
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
  1. 运行以下命令以安装 mssql-tools 和 unixODBC 开发人员包。
sudo yum install -y mssql-tools unixODBC-devel

服务器是否安装了mysql 服务器安装sqlserver数据库_Server_09


4. 为方便起见,请将 /opt/mssql-tools/bin/ 添加到 PATH 环境变量。 这样就可以在运行工具时不指定完整路径。 请运行以下命令,以便修改登录会话和交互/非登录会话的 PATH:

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

本地连接

以下步骤使用 sqlcmd 本地连接到新的 SQL Server 实例。

  1. 使用 SQL Server 名称 (-S),用户名 (-U) 和密码 (-P) 的参数运行 sqlcmd。 在本教程中,用户进行本地连接,因此服务器名称为 localhost。 用户名为 SA,密码是在安装过程中为 SA 帐户提供的密码。
sqlcmd -S localhost -U SA -P '<YourPassword>'
  1. 如果成功,应会显示 sqlcmd 命令提示符:1>。

提示

可以在命令行上省略密码,以收到密码输入提示。
如果以后决定进行远程连接,请指定 -S 参数的计算机名称或 IP 地址,并确保防火墙上的端口 1433 已打开。

如果在输入密码后出现如下错误

服务器是否安装了mysql 服务器安装sqlserver数据库_Server_10

通过命令systemctl status mssql-server查看sqlserver运行状态是,出现如下错误

服务器是否安装了mysql 服务器安装sqlserver数据库_Server_11


网上查询得知,SQL Server没有启动,因为操作系统没有3250MB的内存。

创建和查询数据

下面各部分将逐步介绍如何使用 sqlcmd 新建数据库、添加数据并运行简单查询。

新建数据库

以下步骤创建一个名为 TestDB 的新数据库。

  1. 在 sqlcmd 命令提示符中,粘贴以下 Transact-SQL 命令以创建测试数据库:
CREATE DATABASE TestDB
  1. 在下一行中,编写一个查询以返回服务器上所有数据库的名称:
SELECT Name from sys.Databases
  1. 前两个命令没有立即执行。 必须在新行中键入 GO 才能执行以前的命令:
GO

插入数据

接下来创建一个新表 Inventory,然后插入两个新行。

  1. 在 sqlcmd 命令提示符中,将上下文切换到新的 TestDB 数据库:
USE TestDB
  1. 创建名为 Inventory 的新表:
CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
  1. 将数据插入新表:
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
  1. 要执行上述命令的类型 GO:
GO

选择数据

现在,运行查询以从 Inventory 表返回数据。

  1. 通过 sqlcmd 命令提示符输入查询,以返回 Inventory 表中数量大于 152 的行:
SELECT * FROM Inventory WHERE quantity > 152;
  1. 执行命令:
GO

退出 sqlcmd 命令提示符

要结束 sqlcmd 会话,请键入 QUIT

QUIT