SQL Server2017 on linux 之【准备>安装>连接】

安装过程

注意SQL server需要至少2-3G内存,安装前请检查

整个安装过程非常简单。

可以参考微软的详细文档: 在 Linux 上的 SQL Server 安装指南,包含了在多个Linux分支上安装的方法。

本文用root身份来执行,如果不是root账号,需要在下面的各种命令前面,加上 sudo,就用模拟root账号运行各种命令。

(1)下载 Microsoft SQL Server Red Hat 存储库配置文件

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

(2)安装 SQL Server

yum install -y mssql-server

(3)软件包安装完成后,运行mssql conf 安装命令(和2016的安装命令有区别),进行配置。

sqlserver-2017:

/opt/mssql/bin/mssql-conf setup

sqlserver-2016:

/opt/mssql/bin/mssql-server setup

根据提示:

第1,选择版本,这里选择输入 1,就是评估版。

第2,接受条款。

第3,选择语言,这里选择的10,就是简体中文。

第4,输入SA的密码,密码要求是至少8位,包含数字、大小写字母、符号的,强安全性。

第5步,配置程序会创建mssql-server服务,设置开机自启动。

[root@localhost ~]# /opt/mssql/bin/mssql-conf setup
选择 SQL Server 的一个版本:
  1) Evaluation (免费,无生产许可,180 天限制)
  2) Developer (免费,无生产许可)
  3) Express (免费)
  4) Web (付费版)
  5) Standard (付费版)
  6) Enterprise (付费版)
  7) Enterprise Core (付费版)
  8) 我通过零售渠道购买了许可证并具有要输入的产品密钥。

可在以下位置找到有关版本的详细信息:
https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x804

使用此软件的付费版本需要通过以下途径获取单独授权
Microsoft 批量许可计划。
选择付费版本即表示你具有适用的
要安装和运行此软件的就地许可证数量。

输入版本(1-8): 1
可以在以下位置找到此产品的许可条款:
/usr/share/doc/mssql-server 或从以下位置下载:
https://go.microsoft.com/fwlink/?LinkId=855864&clcid=0x804

可以从以下位置查看隐私声明:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x804

接受此许可条款吗? [Yes/No]:Yes


选择 SQL Server 的语言:
(1) English
(2) Deutsch
(3) Español
(4) Français
(5) Italiano
(6) 日本語
(7) 한국어
(8) Português
(9) Русский
(10) 中文 – 简体
(11) 中文 (繁体)
输入选项 1-11:10
输入 SQL Server 系统管理员密码: 
指定的密码不符合 SQL Server 密码策略要求,因为它不够复杂。
        密码必须至少包含 8 个字符,并包含以下四种字符集中的任意三种: 大写字母、小写字母、数字和符号。
输入 SQL Server 系统管理员密码: 
确认 SQL Server 系统管理员密码: 
正在配置 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 正在启动。

(4)配置完后,要验证一下服务是否启动了

从命令的输出看,msql-server服务成功启动,主进程sqlservr,进程号3601


[root@linux ~]# systemctl status mssql-server
● mssql-server.service - Microsoft SQL Server Database Engine
   Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; enabled; vendor preset: disabled)
   Active: active (running) since 五 2020-04-24 19:13:44 CST; 12min ago
     Docs: https://docs.microsoft.com/en-us/sql/linux
 Main PID: 2091 (sqlservr)
   CGroup: /system.slice/mssql-server.service
           ├─2091 /opt/mssql/bin/sqlservr
           └─2114 /opt/mssql/bin/sqlservr

424 19:13:52 linux sqlservr[2091]: 2020-04-24 19:13:52.95 spid6s      2020-04-24 19:13:52....red.
424 19:13:52 linux sqlservr[2091]: 2020-04-24 19:13:52.95 spid6s      2020-04-24 19:13:52....red.
424 19:13:54 linux sqlservr[2091]: 2020-04-24 19:13:54.14 spid9s      2020-04-24 19:13:54....db'.
424 19:13:54 linux sqlservr[2091]: 2020-04-24 19:13:54.57 spid9s      tempdb 2020-04-24 19...(s).
424 19:13:54 linux sqlservr[2091]: 2020-04-24 19:13:54.58 spid16s     Service Broker 2020-...ate.
424 19:13:54 linux sqlservr[2091]: 2020-04-24 19:13:54.59 spid16s     Database Mirroring 2...ate.
424 19:13:54 linux sqlservr[2091]: 2020-04-24 19:13:54.67 spid16s     2020-04-24 19:13:54....ted.
424 19:13:54 linux sqlservr[2091]: 2020-04-24 19:13:54.90 spid6s      2020-04-24 19:13:54....red.
424 19:20:34 linux sqlservr[2091]: 2020-04-24 19:20:34.64 spid51      2020-04-24 19:20:34....red.
424 19:20:34 linux sqlservr[2091]: 2020-04-24 19:20:34.70 spid51      2020-04-24 19:20:34....red.
Hint: Some lines were ellipsized, use -l to show in full.
[root@linux ~]#

参见其他码友的建议,换其他方式进行验证:证明已经启动了

[root@linux ~]# ps -ef | grep mssql
mssql      2091      1  0 19:13 ?        00:00:00 /opt/mssql/bin/sqlservr
mssql      2114   2091  4 19:13 ?        00:00:39 /opt/mssql/bin/sqlservr
root       2982   1678  0 19:27 pts/0    00:00:00 grep --color=auto mssql
[root@linux ~]# 

(5)如果要从远程连接SQL Server,那么打开防火墙上的SQL Server端口,默认端口是1433

[root@localhost ~]# firewall-cmd --zone=public --add-port=1433/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success

[root@linux ~]# firewall-cmd --zone=public --add-port=1433/tcp --permanent
FirewallD is not running
[root@linux ~]# firewall-cmd --reload
FirewallD is not running
[root@linux ~]# 

防火墙没有开就不要管他了

(6)连接数据库(默认为已设置防火墙)

(7)下载客户端工具的源、安装客户端工具

可以参考这个文章:安装sql server的客户端工具
也是非常简单的,先下载,然后安装。

7.1、下载
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo

下载操作预览

[root@localhost Desktop]# curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   193  100   193    0     0    106      0  0:00:01  0:00:01 --:--:--   106

7.2、yum 安装【mssql-tools】

7.2. yum安装命令
yum install -y mssql-tools

7.2.1 yum安装预览

[root@linux ~]# yum install -y mssql-tools
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.tuna.tsinghua.edu.cn
 * updates: mirrors.tuna.tsinghua.edu.cn
packages-microsoft-com-prod                                                   | 3.0 kB  00:00:00     
packages-microsoft-com-prod/primary_db                                        | 262 kB  00:00:06     
正在解决依赖关系
--> 正在检查事务
---> 软件包 mssql-tools.x86_64.0.17.5.2.1-1 将被 安装
--> 正在处理依赖关系 msodbcsql17 >= 17.3.0.0,它被软件包 mssql-tools-17.5.2.1-1.x86_64 需要
--> 正在检查事务
---> 软件包 msodbcsql17.x86_64.0.17.5.2.1-1 将被 安装
--> 解决依赖关系完成

依赖关系解决

=====================================================================================================
 Package              架构            版本                源                                    大小
=====================================================================================================
正在安装:
 mssql-tools          x86_64          17.5.2.1-1          packages-microsoft-com-prod          223 k
为依赖而安装:
 msodbcsql17          x86_64          17.5.2.1-1          packages-microsoft-com-prod          802 k

事务概要
=====================================================================================================
安装  1 软件包 (+1 依赖软件包)

总下载量:1.0 M
安装大小:2.9 M
Downloading packages:
(1/2): mssql-tools-17.5.2.1-1.x86_64.rpm                                      | 223 kB  00:00:04     
(2/2): msodbcsql17-17.5.2.1-1.x86_64.rpm                                      | 802 kB  00:00:05     
-----------------------------------------------------------------------------------------------------
总计                                                                 188 kB/s | 1.0 MB  00:00:05     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
The license terms for this product can be downloaded from
https://aka.ms/odbc17eula and found in
/usr/share/doc/msodbcsql17/LICENSE.txt . By entering 'YES',
you indicate that you accept the license terms.

Do you accept the license terms? (Enter YES or NO)
yes
  正在安装    : msodbcsql17-17.5.2.1-1.x86_64                                                    1/2 
The license terms for this product can be downloaded from
http://go.microsoft.com/fwlink/?LinkId=746949 and found in
/usr/share/doc/mssql-tools/LICENSE.txt . By entering 'YES',
you indicate that you accept the license terms.

Do you accept the license terms? (Enter YES or NO)
yes
  正在安装    : mssql-tools-17.5.2.1-1.x86_64                                                    2/2 
  验证中      : mssql-tools-17.5.2.1-1.x86_64                                                    1/2 
  验证中      : msodbcsql17-17.5.2.1-1.x86_64                                                    2/2 

已安装:
  mssql-tools.x86_64 0:17.5.2.1-1                                                                    

作为依赖被安装:
  msodbcsql17.x86_64 0:17.5.2.1-1                                                                    

完毕!
[root@linux ~]# 

7.2.3 连接sql sever方式1【为了在服务器上进行操作】

这里用sqlcmd来连接sql server,
可能会有一些错误:

[root@linux ~]# sqlcmd
-bash: sqlcmd: 未找到命令

跟新工具包命令:

sudo yum check-update
sudo yum update mssql-tools

可选:在bash shell中将其添加/opt/mssql-tools/bin/到PATH环境变量中。
要使bash shell可以通过sqlcmd / bcp访问登录会话,请使用以下命令在**〜/ .bash_profile文件中修改PATH**:

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

为了使SQLCMD / BCP从bash shell的交互式/非登录会话访问,修改PATH中的**〜/ .bashrc**文件,使用下面的命令:

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

验证sqlcmd

[root@linux ~]# sqlcmd -S localhost -U sa
Password: 
1> select db_name();
2> go
                                                                                                                                
--------------------------------------------------------------------------------------------------------------------------------
master                                                                                                                          

(1 rows affected)
1> create database test;
2> go

1> use test;
2> go
已将数据库上下文更改为 "test"1> select * into tb from sys.tables;
2> go

(1 rows affected)
1> 

7.2.4 连接方式二,进行远程方式连接

下面是一些命令行参数。
在这里插入图片描述
到这里全部结束;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值