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语句。