本文从零开始一步一步介绍如何在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. SSH程序框架的整合(1)

    spring整合hibernate 有两种方式 1.注解方式 2.xml方式实现 Spring整合Hibernate有什么好处? 1.由IOC容器来管理Hibernate的SessionFactory ...

  2. MySQL flashback 功能

    1. 简介 mysqlbinlog flashback(闪回)用于快速恢复由于误操作丢失的数据.在DBA误操作时,可以把数据库恢复到以前某个时间点(或者说某个binlog的某个pos).比如忘了带wh ...

  3. Hibernate基础学习(三)—Session

    一.概述      Session接口是Hibernate向应用程序提供的操纵数据库最主要的接口,它提供了基本的保存.更新.删除和加载Java对象的方法.      Session具有一个缓存,位于缓 ...

  4. Android 调出和隐藏软键盘

    1.弹出软键盘 public static void showSoftInputMode(Context context,View windowToken) { final InputMethodMa ...

  5. mac jmeter 的使用

    1.下载 mac下载地址:http://jmeter.apache.org/download_jmeter.cgi,下载apache-jmeter-3.1.tgz 2.下载完毕后解压,得到安装包 3. ...

  6. JS高级学习路线——面向对象进阶

    构造函数进阶 使用构造函数创建对象 用于创建对象 其除了是一个函数之外,我们又称之为构造对象的函数 - 简称构造函数 function Product(name,description){ //属性 ...

  7. js的apply()与call()的区别

    1.各自对应的不同的语法: /*apply()方法*/ function.apply(thisObj[, argArray]) /*call()方法*/ function.call(thisObj[, ...

  8. Xamarin XAML语言教程使用Xamarin Studio创建XAML(二)

    Xamarin XAML语言教程使用Xamarin Studio创建XAML(二) 使用Xamarin Studio创建XAML Xamarin Studio和Visual Studio创建XAML文 ...

  9. ecshop打开手机端QQ对话窗口

    ecshop的手机功能比较弱,默认的模板很丑,也不带打开手机端QQ等功能,在程序里添加im等程序变量后,在模板里引入以下代码,即可打开手机端qq对话窗口 <!-- QQ 号码 {foreach ...

  10. Java中的排序方法

    冒泡排序法 快速排序