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/[email protected] /etc/systemd/system/[email protected]:5.service vi /etc/systemd/system/[email protected]: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 [email protected]:5.service systemctl enable [email protected]: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,来自永远薰薰]