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

一.   创建Ubuntu系统(Create Ubuntu System)

1.      前提准备

由于本文主要研究SQL Server 2017在Linux上的搭建方法,从Install SQL Server on Linux中得知当前SQL Server 2017 CTP 2.0对于Ubuntu系统支持16.04和16.10,同时可以直接下载16.04版本,因此选择Ubuntu 16.04进行安装。

由于习惯在VMware ESXi Server上搭建虚拟机,通过VMware Compatibility Guide查到,ESXi 5.5以上版本就支持Ubuntu 16.04了,因此选择ESXi 6.0安装Ubuntu 16.04。

2.      创建虚拟机

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

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

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

3.      安装Ubuntu 16.04

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

具体步骤和截图如下:

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

b)      切换到Console窗口,则出现如下界面:

c)       先设置网络,以便直接安装更新等:

d)      选择安装更新和相关驱动:

e)      选择安装类型,没有特殊需求的话默认即可:

f)        设置时区:

g)       设置键盘,这里可能窗口过大,用鼠标来回拖动选择Continue即可:

h)      设置用户:

i)        等待安装即可:

j)        安装完成后需要点击Restart Now:

k)       断开CD/DVD驱动ISO文件后点击Enter:

l)        稍微等待一段时间后输入密码就可以进去系统啦:

4.      优化Ubuntu系统操作

a)      安装Open VM Tools以便于更方便地使用Ubuntu

根据VMware官方安装文档的推荐,这里安装Open VM Tools以强化使用Ubuntu(有时候刚装完Ubuntu,系统分辨率无法调节,安装完open-vm-tools-desktop即可解决):

sudo apt install open-vm-tools
sudo apt install open-vm-tools-desktop

b)      如何从Windows远程操作Ubuntu系统

由于主机工作环境是Windows,所以可能会经常从Windows远程操作Ubuntu系统。

目前我发现两种比较方便的从Windows远程操作连接Ubuntu系统的方法。一是利用Xshell工具(免费SSH客户端),二是使用VNC Client。

由于默认Ubuntu没有安装SSH Server,使用如下命令安装SSH服务器,即可正常使用Xshell工具通过SSH连接操作Ubuntu,同时可以直接使用sz和rz命令进行Windows和Linux系统文件之间的传输。

sudo apt-get update
sudo apt-get install openssh-server
sudo apt-get install lrzsz

利用rz和sz下载和上传文件:

  • 使用VNC服务器客户端,这样在Windows上就可以使用VNC Client进行远程连接操作,类似Windows中的远程桌面连接。在Ubuntu上设置VNC Server的步骤如下:

Ubuntu桌面自动有一个工具叫Desktop Sharing:

启动工具后,可以根据自己的需求设置相关选项,设置完关闭即可:

如果使用VNC Client连接过程中遇到这个错误”Server did not offer supported security type”,或者下图错误:

则需要禁用加密:先安装dconf Editor(sudo apt install dconf-editor),然后启动dconf Editor -> org -> gnome -> desktop -> remote-access,取消选择require-encryption。

设置完关闭即可正常通过VNC Viewer去连接了(如果出现错误连不上,则请查看两端网络连通性和防火墙相关设置)。

c)      vi编辑器上下左右变ABCD的问题解决

依次执行以下命令安装VIM:

sudo apt-get remove vim-common
sudo apt-get install vim

二.   安装SQL Server(Install SQL Server)

1.      安装SQL Server

官网安装指南:https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-ubuntu

安装步骤如下:

a)       安装curl软件包:

sudo apt install curl

b)      导入repository GPG键和SQL Server Ubuntu的安装库:

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list | sudo tee /etc/apt/sources.list.d/mssql-server.list

c)       安装SQL Server:

sudo apt-get update
sudo apt-get install -y mssql-server

d)      初始化SQL Server配置:

sudo /opt/mssql/bin/mssql-conf setup

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

systemctl status mssql-server

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

sudo ufw allow /tcp
sudo ufw reload

Note:默认情况下Ubuntu防火墙是关闭状态,ufw status可以查看。

另外如果有其它防火墙工具,比如firewalld工具包,则需要执行以下命令设置防火墙开启SQL Server服务端口:

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

最后就可以用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#ubuntu

具体步骤如下:

a)       导入微软公共GPG键和注册微软Ubuntu安装库:

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list

b)      更新软件源并安装SQL Server工具包:

sudo apt-get update
sudo apt-get install mssql-tools unixodbc-dev

c)       为了以后方便使用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后执行一次。

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

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

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

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

SQL Server on Ubuntu——Ubuntu上的SQL Server(全截图)的更多相关文章

  1. Linux上的SQL Server的起步

    我们知道,几个星期前,微软发布了在Linux上直接运行的SQL Server第一个公开CTP版本!因此,对我来说,是时候跨界在Linux上安装我的第一个SQL安装,这样的话,我就可以在Linux上折腾 ...

  2. 【一个idea】YesSql,一种在经典nosql数据库redis上实现SQL引擎的方案(我就要开历史的倒车)

    公众号链接 最高级的红酒,一定要掺上雪碧才好喝. 基于这样的品味,我设计出了一套在经典nosql数据库redis上实现SQL引擎的方法.既然redis号称nosql,而我偏要把SQL加到redis上, ...

  3. Ubuntu上配置SQL Server Always On Availability Group(Configure Always On Availability Group for SQL Server on Ubuntu)

    下面简单介绍一下如何在Ubuntu上一步一步创建一个SQL Server AG(Always On Availability Group),以及配置过程中遇到的坑的填充方法. 目前在Linux上可以搭 ...

  4. Configure Always On Availability Group for SQL Server on Ubuntu——Ubuntu上配置SQL Server Always On Availability Group

    下面简单介绍一下如何在Ubuntu上一步一步创建一个SQL Server AG(Always On Availability Group),以及配置过程中遇到的坑的填充方法. 目前在Linux上可以搭 ...

  5. Ubuntu下erlang连接SQL SERVER 2008

    erlang连接SQL Server使用ODBC方法,但在网络上还是缺少资料,自己折腾了2天才成功.现在特记录下来,以供大家借鉴. 基本思路是 erlang odbcserver + unixodbc ...

  6. 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),以及配置过程中遇到的坑的 ...

  7. Linux 上的 SQL Server 2017 的安装指南

    一:介绍背景 微软在2016年 3 月首次对外宣布了 Linux 版的 SQL Server,并于2017年 7 月发布了首个公开 RC 版.前几日在美国奥兰多召开的微软 Ignite 2017 大会 ...

  8. 开始使用 Docker (Linux 上运行 SQL Server) 上的 SQL Server 容器 - SQL Server | Microsoft Docs

    原文:开始使用 Docker (Linux 上运行 SQL Server) 上的 SQL Server 容器 - SQL Server | Microsoft Docs 快速入门:使用 Docker ...

  9. 在 Debian 上的 SQL Server 的安裝指引

    我想在 linux 环境下尝试一下 Microsoft SQL Server,但是微软只发布了针对 Red Hat,SUSE,Ubuntu 和 Docker 引擎的.我平时习惯使用 Debian, U ...

随机推荐

  1. vue-router2.0动态路由获取参数

    一下demo演示2.0中的vue-router是如何获取到不同参数的,并在地址栏中匹配不同的信息 <!DOCTYPE html> <html lang="en"& ...

  2. iOS 开发遇到 调不起相机问题

    在iOS 开发中 使用html 中的input 标签调起工程里面的相机,手机无反应 1.先看看info.plist 加没加相机的权限,添加Privacy - Camera Usage Descript ...

  3. java如何停止一个运行的线程?

    关于线程的一点心得 //首先导入需要的包 improt java.util.Timer;import java.io.File;import java.util.TimerTask; //首先需要创建 ...

  4. llinux svn安装

    1,安装SVN服务端 直接用apt-get或yum安装subversion即可(当然也可以自己去官方下载安装) [plain] view plain copy print? sudo apt-get  ...

  5. [转]android4.0.3 修改启动动画和开机声音

    本文转自:http://www.cnblogs.com/jqyp/archive/2012/03/07/2383973.html 1. Linux 系统启动,出现Linux小企鹅画面(reboot)( ...

  6. 4月5日--课堂笔记--JS内置对象

    JavaScript 4.5 一.    JS内置对象 1.数组Array a)创建语法1:var arr=new Array(参数); i.       没有参数:创建一个初始容量为0的数组 ii. ...

  7. 1094:零起点学算法01——第一个程序Hello World!

    Description 题目很简单 输出"Hello World!"(不含引号),并换行. Input 没有输入 Output 输出"Hello World!" ...

  8. ios富文本的简单使用 AttributedString

    富文本,顾名思义就是丰富的文本格式,本文demo使用NSMutableAttributedString //获取富文本 NSMutableAttributedString*attributeStrin ...

  9. http协议的八种请求类型

    GET:向特定的资源发出请求. POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件).数据被包含在请求体中.POST请求可能会导致新的资源的创建和/或已有资源的修改. OPTIONS: ...

  10. Css清除浮动最优方式之一

    ---恢复内容开始--- .container:before, .container:after { display: table; content: " "; } .contai ...