本文从零开始一步一步介绍如何在Red Hat Enterprise Linux上搭建SQL Server 2017,包括安装系统、安装SQL等相关步骤和方法(仅供测试学习之用,基础篇)。

一.   创建RHEL系统(Create Red Hat Enterprise Linux System)

1.      前提准备

由于本文主要研究SQL Server 2017在Linux上的搭建方法,从Install SQL Server on Linux中得知当前SQL Server 2017 CTP 2.1对于Red Hat Enterprise Linux仅支持7.3,因此选择RHEL 7.3进行安装。

由于习惯在VMware ESXi Server上搭建虚拟机,通过VMware Compatibility Guide查到,ESXi 5.1 U2以上版本就支持RHEL 7.x了,因此选择ESXi 6.0安装Red Hat Enterprise Linux 7.3。

2.      创建虚拟机

和正常在VMware上安装虚拟机一样,创建一个空的虚拟机安装RHEL 7.3。注意事项如下:

  • 如果要使用SQL Server,内存至少3.25GB以上;
  • 如果要使用SQL Server,文件系统必须是XFS或者EXT4,其它如BTRFS是不支持的。

参考:https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup

3.      安装Red Hat Enterprise Linux 7.3

官方安装指南:http://partnerweb.vmware.com/GOSIG/RHEL_7.html

具体步骤如下:

a)       编辑虚拟机设置(Edit Settings…),添加RHEL安装ISO文件到CD/DVD驱动上,勾选Connect at power on,确定后开机。

b)      切换到Console窗口,选择Install Red Hat Enterprise Linux 7.3。

c)       这时可能出现黑屏没有反应的情况,重新关闭vSphere Client开启Console窗口即可(或者右击虚拟机Open Console),出现如下界面点击Continue即可。

d)      在Installation Summary页面从上到下一个个设置即可(没有介绍的请根据自己需求或者选择默认选项)。如下图设置DATE & TIME点击Done。

e)      需要注意的是SOFTWARE SELECTION里面可以设置默认基础环境,一般情况最小安装,如果需要特殊服务器安装特殊的即可。咱们开发测试的话推荐Server with GUI,这个自带图形界面,并且默认自动包括了Open VMware Tools的安装。

f)        对于KDUMP,可以禁用。

g)       NETWORK & HOST NAME。对于网络建议设置,如果环境中有DHCP服务器,则开启网络即可,否则手动设置静态IP。

注意这里设置Host name最好不要超过15个字符,否则以后安装其它软件如果不支持的话,可能会截断机器名(比如配置SQL AG的话https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-availability-group-configure-ha ,如果已经设置了超长的,也可以在安装完成后编辑/etc/hostname文件更改)。

h)      SECURITY POLICY选择Default即可。

i)        点击Begin Installation即可开始安装。安装过程中设置Root账户的密码和创建一个新账户。

注意如果密码是弱密码,则需要点击两次Done才能保存成功。

如下图创建一个新用户并设置成管理员

j)        都设置完等待安装完成即可。

k)       点击Reboot。以后可以弹出CD/DVD驱动ISO文件。

需要接受License。点击Finish Configuration即可。

4.      优化RHEL系统操作

·         解决未注册情况下无法使用默认源的问题

正常情况下,需要购买订阅才能使用RHEL系统。我们自己以学习为目的的研究,这里介绍一种方法可以不注册而测试使用yum源:将Red Hat Enterprise Linux的默认Yum替换成CENTOS的(CentOS和RHEL基本上没有区别,并且CentOS是开源的已经被RHEL收购,这种方法仅可以用于测试)。

a)       进入超级用户模式:

sudo su

b)      查看已安装的yum并卸载原有RHEL的yum及相关软件包:

rpm -qa | grep yum
rpm -qa | grep yum | xargs rpm -e --nodeps

c)       下载CENTOS的相关软件包:

wget http://mirrors.163.com/centos/7.3.1611/os/x86_64/Packages/yum-3.4.3-150.el7.centos.noarch.rpm
wget http://mirrors.163.com/centos/7.3.1611/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-40.el7.noarch.rpm
wget http://mirrors.163.com/centos/7.3.1611/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm

d)      安装软件包(部分软件包有依赖关系,所以最好一起安装):

rpm -ivh *.rpm

e)      进入到yum配置文件目录并下载CENTOS配置文件,最后更改$releasever为7(也可以手动Edit更改每一个$releasever为7):

cd /etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
sed -i "s/\$releasever/7/g" CentOS7-Base-.repo

f)        清空并更新yum缓存:

yum clean all
yum makecache

g)       至此已经更换完yum,可以执行以下命令安装epel源:

sudo yum install epel-release

Note:有时候可能某一个源的服务器不可用,需要手动更换或者添加源,可以通过这个站点来查询源状态:http://mirror-status.centos.org/#cn

·         提醒未注册信息的去除(Remove the information of not registered to Red Hat Subscription Management)

如果没有注册系统,经常会出现这样的提醒”This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register”。

执行以下命令可以去除注册提示:

a)       查看环境中已有的subscription相关包:

yum list all | grep subscription

b)      删除subscription-manager软件包:

sudo yum remove subscription-manager

·         解决从Windows远程连接RHEL系统的问题

由于经常使用Windows,目前我发现的两种比较方便的从Windows远程操作连接RHEL系统的方法。一是利用Xshell工具(免费SSH客户端),可以直接使用sz和rz命令进行Windows和Linux系统文件之间的传输。另外是搭建VNC Server,这样在Windows上就可以使用VNC Client进行远程连接操作,类似Windows中的远程桌面连接。在RHEL 7上搭建VNC Server的步骤如下:

a)       进入超级用户模式:

sudo su

b)      安装GNOME Desktop:

yum groupinstall "GNOME Desktop" "Graphical Administration Tools"

c)       安装tigervnc server和X11 fonts:

yum install tigervnc-server xorg-x11-fonts-Type1

d)      复制配置文件并更改<USER>字段为真实User Name:

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:.service
vi /etc/systemd/system/vncserver@:.service

更改前:

更改后:

e)      开启防火墙端口:

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

f)        退出超级用户模式,开启VNC Server并设置密码:

exit
vncserver

g)       进入超级用户模式并重新加载daemon

sudo su
systemctl daemon-reload

h)      开启服务并设置为开机启动

systemctl start vncserver@:.service
systemctl enable vncserver@:.service

i)        使用VNC Client进行连接,注意这里需要加上前面设置的端口号10.2.38.200:5或者10.2.38.200:5905。

Note:

二.   安装SQL Server(Install SQL Server)

1.      安装SQL Server

官方安装指南:https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-red-hat

安装步骤如下:

a)       进入到超级用户模式:

sudo su

b)      下载Microsoft SQL Server Red Hat repository配置文件:

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

c)       安装SQL Server:

yum install -y mssql-server

d)      初始化SQL Server配置:

/opt/mssql/bin/mssql-conf setup

e)      确认SQL Server服务的状态:

systemctl status mssql-server

f)        设置防火墙开启SQL Server服务端口:

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

g)       退出超级管理员模式:

exit

这时就可以用Windows中的SQL Server Management Studio去连接访问数据库了。

默认认证方式是SQL Server认证,默认管理员用户是sa,密码是在d)步骤设置的密码。从上图看到数据库默认路径是/var/opt/mssql/data/,此为Linux路径。

2.      安装SQL Server Tools

官方安装文档见:https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools#RHEL

具体安装mssql-tools步骤如下:

a)       进入到超级用户模式:

sudo su

b)      下载Microsoft SQL Server Red Hat repository配置文件:

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

c)       如果安装过mssql-tools,首先卸载原来的unixODBC的包:

yum update
yum remove unixODBC-utf16 unixODBC-utf16-devel

d)      安装mssql-tools

yum update
yum install mssql-tools unixODBC-devel

如果遇到安装不上的情况,可能是由于最新更新包与当前系统不兼容或者最新更新包不稳定,可以执行如下命令安装指定版本(仅适用于RHEL 7):

ACCEPT_EULA=Y yum install msodbcsql-13.0.1.0- mssql-tools-14.0.2.0-
yum install unixODBC-utf16-devel

其它系统版本解决命令参考:https://blogs.msdn.microsoft.com/sqlnativeclient/2016/10/20/odbc-driver-13-0-for-linux-released/comment-page-2/

e)      为了以后方便使用sqlcmd,把安装目录添加到bash shell环境变量中:

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

Note:环境变量是用户级别的,如果在root下执行上述命令,则只有root用户可以直接使用sqlcmd,建议在root下执行一次再exit后执行一次。

f)        安装完成后就可以使用sqlcmd tool了。

关于sqlcmd的使用可以参考:https://docs.microsoft.com/en-us/sql/tools/sqlcmd-utility

[原创文章,转载请注明出处,仅供学习研究之用,如有错误请留言,谢谢支持]

[原站点:http://www.cnblogs.com/lavender000/p/6875435.html,来自永远薰薰]

SQL Server on Red Hat Enterprise Linux——RHEL上的SQL Server(全截图)的更多相关文章

  1. Red Hat Enterprise Linux (RHEL) 9 更新了什么,即 Rocky Linux 9 和 AlmaLinux 9 展望

    请访问原文链接:https://sysin.org/blog/rhel-9-vision/,查看最新版.原创作品,转载请保留出处. 作者:gc(at)sysin.org,主页:www.sysin.or ...

  2. SQL Server on Red Hat Enterprise Linux

    本文从零开始一步一步介绍如何在Red Hat Enterprise Linux上搭建SQL Server 2017,包括安装系统.安装SQL等相关步骤和方法(仅供测试学习之用,基础篇). 一.   创 ...

  3. Red Hat Enterprise Linux 6上安装Oracle 11G(11.2.0.4.0)缺少pdksh包的问题

    RHEL 6上安装Oracle 11G警告缺少pdksh包 前言 相信很多刚刚接触学习Oracle的人,在RHEL6上安装11.2.0.3 or 11.2.0.4这两个版本的时候, 都遇到过先决条件检 ...

  4. Red Hat Enterprise Linux(RHEL)中yum的repo文件详解

    Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载 ...

  5. Unix/Linux环境C编程入门教程(5) Red Hat Enterprise Linux(RHEL)环境搭建

    Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 通过./a.out ./Y.out执行出结果,证明C++程序编译成功,也就说明li ...

  6. Unix/Linux环境C编程新手教程(5) Red Hat Enterprise Linux(RHEL)环境搭建

    Unix/Linux版本号众多,我们推荐Unix/Linux刚開始学习的人选用几款典型的Unix/Linux操作系统进行学习. 通过./a.out ./Y.out运行出结果,证明C++程序编译成功.也 ...

  7. Red Hat Enterprise Linux x86-64 上安装 oracle 11gR2

    一.以root用户登录 二.安装依赖包 #rpm -qa | grep 包名    ----查看包 binutils-2.20.51.0.2-5.11.el6 (x86_64)            ...

  8. Configure Red Hat Enterprise Linux shared disk cluster for SQL Server——RHEL上的“类”SQL Server Cluster功能

    下面一步一步介绍一下如何在Red Hat Enterprise Linux系统上为SQL Server配置共享磁盘集群(Shared Disk Cluster)及其相关使用(仅供测试学习之用,基础篇) ...

  9. Configure Always On Availability Group for SQL Server on RHEL——Red Hat Enterprise Linux上配置SQL Server Always On Availability Group

    下面简单介绍一下如何在Red Hat Enterprise Linux上一步一步创建一个SQL Server AG(Always On Availability Group),以及配置过程中遇到的坑的 ...

随机推荐

  1. 深入PHP变量存储结构 标签: PHP存储

    1.深入PHP变量存储结构 标签: PHP存储  分类: 编程语言(10)  首先声明,我并没有去读PHP的源码,只是对于PHP的有时候诡异的表现感兴趣,找了一下开发人员laruence的博客结合PH ...

  2. Windows运行命令大全

    inetmgr   启动IIS控制台winver 检查Windows版本 wmimgmt.msc 打开Windows管理体系结构(wmi) wupdmgr Windows更新程序 wscript Wi ...

  3. WebStorm里启动electron项目

    WebStorm里启动electron项目,其实很简单 一.第一步打开下面的窗口 二.然后输入electron .,然后敲下 回车键,然后等会项目界面就会出现了. PS:electron 和 点之间有 ...

  4. shiro基础学习(二)—shiro认证

    一.shiro简介      shiro是apache旗下一个开源框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证.权限授权.加密.会话管理等功能,组成了一个通用的安全认证框架. 以下 ...

  5. Liferay中利用URL传参数

    业务场景:现在有一个新闻系统,有两个页面,A是新闻列表页面/web/guest/home,B是新闻的详情页面/web/guest/newsview. 业务逻辑为:在A页面中,点击新闻的标题进入B页面, ...

  6. 用 Python 编写剪刀、石头、布的小游戏(快速学习python语句)

    import random#定义手势类型allList = ['石头','剪刀','布']#定义获胜的情况winList = [['石头','剪刀'],['剪刀','布'],['步','石头']]pr ...

  7. SQL Server数据库的存储过程中定义的临时表,真的有必要显式删除临时表(drop table #tableName)吗?

    本文出处:http://www.cnblogs.com/wy123/p/6704619.html 问题背景 在写SQL Server存储过程中,如果存储过程中定义了临时表,有些人习惯在存储过程结束的时 ...

  8. 基于51单片机IIC通信的PCF8591学习笔记

    引言 PCF8591 是单电源,低功耗8 位CMOS 数据采集器件,具有4 个模拟输入.一个输出和一个串行I2C 总线接口.3 个地址引脚A0.A1 和A2 用于编程硬件地址,允许将最多8 个器件连接 ...

  9. Mvc自定义验证

    假设我们书店需要录入一本书,为了简单的体现我们的自定义验证,我们的实体定义的非常简单,就两个属性,一个名称Name,一个出版社Publisher. public class BookInfo { pu ...

  10. seajs加载jquery提示$ is not a function

    jquery1.7以上的都支持模块化加载,只是jquery默认的是支持amd,不支持cmd.所以要用seajs加载jquery,需要稍微改下jquery 把 if (typeof define === ...