SQL Server on Red Hat Enterprise Linux
本文从零开始一步一步介绍如何在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-163.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@:5.service
vi /etc/systemd/system/vncserver@:5.service
更改前:
更改后:
e) 开启防火墙端口:
firewall-cmd --permanent --zone=public --add-port=5905/tcp
firewall-cmd --reload
f) 退出超级用户模式,开启VNC Server并设置密码:
exit
vncserver
g) 进入超级用户模式并重新加载daemon
sudo su
systemctl daemon-reload
h) 开启服务并设置为开机启动
systemctl start vncserver@:5.service
systemctl enable vncserver@:5.service
i) 使用VNC Client进行连接,注意这里需要加上前面设置的端口号10.2.38.200:5或者10.2.38.200:5905。
Note:
- VNC Client可以从这里下载。
- 参考文档:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/ch-TigerVNC.html#sec-vnc-installation。
二. 安装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=1433/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-1 mssql-tools-14.0.2.0-1
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的更多相关文章
- SQL Server on Red Hat Enterprise Linux——RHEL上的SQL Server(全截图)
本文从零开始一步一步介绍如何在Red Hat Enterprise Linux上搭建SQL Server 2017,包括安装系统.安装SQL等相关步骤和方法(仅供测试学习之用,基础篇). 一. 创 ...
- Configure Red Hat Enterprise Linux shared disk cluster for SQL Server——RHEL上的“类”SQL Server Cluster功能
下面一步一步介绍一下如何在Red Hat Enterprise Linux系统上为SQL Server配置共享磁盘集群(Shared Disk Cluster)及其相关使用(仅供测试学习之用,基础篇) ...
- 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),以及配置过程中遇到的坑的 ...
- Configure Red Hat Enterprise Linux shared disk cluster for SQL Server
下面一步一步介绍一下如何在Red Hat Enterprise Linux系统上为SQL Server配置共享磁盘集群(Shared Disk Cluster)及其相关使用(仅供测试学习之用,基础篇) ...
- 在Red Hat Enterprise Linux 7.3上安装SQL Server 2017
必要条件: 1.在此快速安装过程中,您需要安装SQL Server 2017或SQL Server 2019上Red Hat Enterprise Linux (RHEL) 7.3 +.然后使用sql ...
- ORACLE Install (10g r2) FOR Red Hat Enterprise Linux Server release 5.5 (64 bit) (转)
OS Info----------# cat /etc/redhat-releaseRed Hat Enterprise Linux Server release 5.5 (Tikanga)# cat ...
- Red Hat Enterprise Linux Server(RHEL) yum安装软件时This system is not registered with RHN. RHN support will be disabled. 的解决方法(转)
新安装了redhat6.5.安装后,登录系统,使用yum update 更新系统.提示: This system is not registered to Red Hat Subscription M ...
- Red Hat Enterprise Linux 6.6安装体验
Red Hat Enterprise Linux 6.6的安装首界面有五个选项,这跟以前的Red Hat Enterprise Linux 5.x的安装界面是有一些区别的. 安装或者升级现有系统( ...
- 如何安装win10+Red Hat Enterprise Linux双系统?
1,如何安装win10+Red Hat Enterprise Linux双系统???? 有很多人(没做过调查,可能就我自己想装吧)想要安装Red Hat Enterprise Linux系统,但是又不 ...
随机推荐
- nodejs学习(3) express+socket.io
//node var express=require('express'); var app = express(); var server = require('http').createServe ...
- G. Of Zorcs and Axes 二分 + 贪心 —— STL的用法
http://codeforces.com/gym/101149/problem/G 一开始还以为要用二分图去做,但是复杂度也太高了,O(n * m)的话直接爆炸. 考虑贪心,考虑第i个东西优先选一个 ...
- C#入门笔记3 表达式及运算符
C#表达式 表达式,把变量.字面值与运算符组合起来,就创建表达式,是计算的基本构件.字面值:是源代码中键入的数字.字符串,表示指定类型的值.常用有几种:整数.实数.字符.字符串. 整数字面量[也能使用 ...
- CF1072C Cram Time
思路: 首先二分找到使x * (x + 1) / 2 <= a + b最大的x,然后令p = min(a, b), q = max(a, b),按照x,x - 1, ..., 1的顺序选取数字把 ...
- List 集合中数据不重复的使用
foreach (DataRow dr in dt.Rows) { list.Add(dr["项目组"].ToString()); } list = list.Distinct&l ...
- Selenium私房菜系列9 -- Selenium RC服务器命令行参数列表【ZZ】
本文转载自:http://wiki.javascud.org/display/SEL/Selenium+Remote+Control+-+options 使用示例: java -jar seleniu ...
- hdu 3555 Bomb 炸弹(数位DP,入门)
题意: 给一个数字n,求从1~n中有多少个数是含有49的,比如49,149,1490等都是含49的. 思路: 2^64也顶多是十进制的20多位,那么按十进制位来分析更简单.如果能计算k位十进制数中分别 ...
- Python学习日志9月16日
刚才我差点睡着了,差资料的时候太费神,有些累. 今天早晨学习了<head first HTML and CSS>,今天把昨天没看了的关于字体和颜色的一章节看完了,真长.我详细的做了笔记,并 ...
- ucosii(2.89)mbox 应用要点
OSMboxCreate(void *msg) 当创建一个mbox时候,消息邮箱允许(任务或者中断)向其他一个或者几个任务发送消息.初始化msg指向消息邮箱中的消息. void*OSMboxP ...
- 【转】数据库SQL的一些总结
http://www.cnblogs.com/yank/category/104903.html