Linux离线环境下安装SQL Server 数据库

SQL Server在Linux 上的支持版本包括Red Hat Enterprise Linux(RHEL)、SUSE Linux Enterprise Server(SLES)和Ubuntu。

 SQL Server2022、SQL Server2019、SQL Server2017适合的Linux版本

这里选择rhel7.9/SQL Server2019

一、在虚拟机上安装RHEL7.9操作系统

链接:https://pan.baidu.com/s/1567NfZRF48PBXfUqxumvDA

提取码:bm7u

点击创建新的虚拟机

选择自定义,下一步

虚拟机硬件兼容性默认Workstation 16.x,下一步

安装来源选择稍后安装操作系统(S),下一步

客户机操作系统选择Linux,版本选择Red Hat Enterprise Linux 7 64位

虚拟机名称命名为rhel7.9,在D盘新建一个文件夹也命名为rhel7.9

处理器数量输入2,每个处理器的内核数量输入2

内存给到8192MB

选择使用仅主机模式网络

默认LSI Logic

默认SCSI

默认创建新虚拟磁盘

最大磁盘大小输入100,选择将虚拟磁盘存储为单个文件

默认rhel7.9.vmdk

点击自定义硬件,点击CD/DVD,选择使用ISO镜像文件,选择rhel7.9镜像,移除声卡和打印机,点击完成。

点击虚拟机rhel7.9,点击开启此虚拟机,之后开始安装。

选择语言类型,默认English

设置DATE & TIME,选择Asia/Shanghai

设置SOFTWARE SELECTION选择Server With GUI,Begin Installation

USER SETTINGS,设置root密码和新建sqlserver用户,密码也是sqlserver

之后等待rhel7.9安装。

 

2、配置网络。

方法一:VMvare设置成主机模式(无法连外网,只能和宿主机通信)需要将rhel7.9操作系统的ip设置成与VMnet1同一个网段。VMnet1设置为172.25.100.100,rhel7.9设置为172.25.100.137,下面是配置vmnet1的ip地址。

配置rhel7.9的ip且关闭防火墙

#systemctl stop firewalld  //关闭防火墙
#systemctl disable firewalld  //开机不启动
//配置本机ip,在root用户下配置
#vi /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=static  //修改BOOTPROTO
ONBOOT=yes  //修改ONBOOT
IPADDR=172.25.100.137  //增加
NETMASK=255.255.255.0  //增加
GATEWAY=172.25.100.1   //增加

//配置域名,域名就是ip地址的别名,在配置ip地址时可直接用域名,在ip地址变化时可以不用多出修改ip配置,直接在hosts修改即可
#vi /etc/hosts
172.25.100.137 chenmu 
#service network restart  //配置ip后重启网络,启动成功之后在宿主机ping 172.25.100.137成功

注:要两边都能够ping通的话需要两边都关闭防火墙。

方法二:设置成NAT模式(与主机共享IP,可以联通外网),需要VMWare编辑->虚拟网络编辑器,点击更改设置(管理员...)->选中NAT模式->点击NAT设置,可以看到子网IP是192.168.118.0,这里将网关设置成192.168.118.2,确定。

点击DHCP设置->看到IP范围,这就是rhel7.9需要设置的ip范围,这里可以设置成192.168.118.129->确定。

设置宿主机IP,点击网络和Internet设置,点击VMnet8->共享->允许...->选择非VLAN选项(否则会断网)。选择网络->设置IPv4->宿主机的VMnet8的ip和实际WLAN的IP没有关系,但是和上面子网IP192.168.118.0要在一个网段,所以设置成192.168.118.1。网关设置成192.168.118.2和WM里面配置的一致。

设置rhel7.9的IP地址,ip范围在192.168.118.128~192.168.118.254。

IPADDR=192.168.118.129
NETMASK=255.255.255.0
GATEWAY=192.168.118.2
DNS1=8.8.8.8
DNS2=8.8.8.4

 

3、宿主机通过SecureCRT链接到rhel7.9系统

方法一:离线的Linux环境(连不了外网,只能和宿主机联通),所以需要在宿主机上下载sqlserver2019安装包,再通过securecrt上传到Linux系统。

下载链接:https://packages.microsoft.com/rhel/7/mssql-server-2019,进入/package/m文件夹下,选择其中一个来下载。

secureCRT按下alt+p开启SFTP会话,put 文件 ,上传到Linux的/root目录下。

put D:\文件下载\谷歌下载\mssql-server-15.0.4375.4-1.x86_64.rpm                        

方法二:可以联网的情况下直接yum源联网下载安装。

sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo  //下载存储库配置文件
sudo yum install -y mssql-server  //安装SQL Server

 

二、在rhel7.9系统上安装SQL Server2019

方法一:Linux离线情况需将rpm上传到/root目录下,接下来就是安装

1、安装mssql

rpm -ivh /root/mssql-server-15.0.4375.4-1.x86_64.rpm

出现失败情况error:Failed dependencies

需要安装依赖包,通过配置本地yum源安装,相当于从Linux系统的光盘里安装,不用到网上下载,下载的版本可能不对。

mkdir /etc/yum.repos.d/bak  //创建bak文件夹存放原本yum源
cd /etc/yum.repos.d
cp redhat.repo /etc/yum.repos.d/bak 
vi redhat.repo  //编辑文件
[redhat_latest]
name=redhat $releaserver Latest ($basearch)
baseurl=file:///mnt  //指定yum源,file://是本地文件,/mnt是光盘挂载的文件
gpgcheck=0
enabled=1

mount /dev/cdrom /mnt    //将光盘(iso)挂载在mnt文件,/dev/cdrom别名也是/dev/sr0
//repo文件由[仓库名称]、描述信息name(可包含变量$releaserver和$basearch,会根据系统实际情况替换成具体的版本号和架构信息)、镜像地址baseurl、仓库启用状态enabled

yum安装两个依赖包

yum install -y libatomic
yum install -y python3

 重新执行mssql安装命令

 

2、配置SQL Server。

运行sudo /opt/mssql/bin/mssql-conf setup命令,选择版本2,开发版本,设置SA密码Sqlserver2019

使用systemctl status mssql-server来验证是否正在运行,active(running)表示正在运行。

 

3、安装命令行工具sqlcmd

方法二:yum源联网下载。

sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo  //下载存储库配置文件
sudo yum install -y mssql-tools unixODBC-devel  //安装mssql-tools

可以看出需要安装mssql-tools-17.10.1.1-1.x86_64.rpm、unixODBC-devel-2.3.11-1.rh.x86_64.rpm、msodbcsql17-17.10.6.1-1.x86_64.rpm、unixODBC-2.3.11-1.rh.x86_64.rpm

方法一:离线下载 mssql-tools工具并上传,下载链接https://packages.microsoft.com/rhel/8/prod/Packages/,下载方法二的四个文件且上传并安装。

 

4、添加环境变量

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> /etc/profile
source /etc/profile

 

5、本地连接

sqlcmd -S localhost -U sa  //本地链接sa用户,-S表示连接到实例名称;-i表示执行指定的SQL脚本文件;-o表示将输出重定向到一个文件;-U -P使用SQL SERVER验证,提供用户名和密码。
-Q、-q、-i标识sqlcmd输入的位置;

 输入密码后出现T-SQL语句,1表示这是T-SQL的第一行,每个T-SQL放置在"语句缓存"的缓冲区,键入GO命令并按下Enter键后,这些语句发送到SQL Server,若要退出sqlcmd,在新行开头键入EXIT或QUIT。若要清除语句缓存,需键入:RESET。Ctrl+C可使sqlcmd推出;:ED可以编辑输入的T-SQL语句。

posted @ 2024-08-11 00:36  微风徐徐$  阅读(825)  评论(0编辑  收藏  举报