SQL Server on Ubuntu
本文从零开始一步一步介绍如何在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。
- 利用Xshell SSH客户端
由于默认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 1433/tcp
sudo ufw reload
Note:默认情况下Ubuntu防火墙是关闭状态,ufw status可以查看。
另外如果有其它防火墙工具,比如firewalld工具包,则需要执行以下命令设置防火墙开启SQL Server服务端口:
firewall-cmd --zone=public --add-port=1433/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 Always On Availability Group(Configure Always On Availability Group for SQL Server on Ubuntu)
下面简单介绍一下如何在Ubuntu上一步一步创建一个SQL Server AG(Always On Availability Group),以及配置过程中遇到的坑的填充方法. 目前在Linux上可以搭 ...
- 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上可以搭 ...
- Configure Always On Availability Group for SQL Server on Ubuntu
下面简单介绍一下如何在Ubuntu上一步一步创建一个SQL Server AG(Always On Availability Group),以及配置过程中遇到的坑的填充方法. 目前在Linux上可以搭 ...
- SQL Server on Ubuntu——Ubuntu上的SQL Server(全截图)
本文从零开始一步一步介绍如何在Ubuntu上搭建SQL Server 2017,包括安装系统.安装SQL等相关步骤和方法(仅供测试学习之用,基础篇). 一. 创建Ubuntu系统(Create U ...
- 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),以及配置过程中遇到的坑的 ...
- Linux 上的 SQL Server 2017 的安装指南
一:介绍背景 微软在2016年 3 月首次对外宣布了 Linux 版的 SQL Server,并于2017年 7 月发布了首个公开 RC 版.前几日在美国奥兰多召开的微软 Ignite 2017 大会 ...
- 安装SQL Server For Linux(Install SQL Server)
SQL Server on Ubuntu——Ubuntu上的SQL Server(全截图) 1. 安装SQL Server 官网安装指南:https://docs.microsoft.com ...
- Ubuntu 下安装 SQL Server 2016初探
安装步骤参官方 https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup-ubuntu 执行命令如下: .Enter supe ...
- Ubuntu、Sql Server卸载心得
这几天真是搞得亏大了! 首先是卸载Ubuntu,直接在Windows下格式化那个盘了,这就出岔子了……然后越来越糟糕,最后弄得一个系统都没有了……然后重装系统…… 然后装VS和Sql Server,因 ...
随机推荐
- JS脚本不能执行
这段时间在做前端的动态页面,出了很多问题,因为js平时用的很少,所以花了不少无用功. 其中有两点一定要注意: 1.当js中有语法错误时,js脚本会无法执行. 2.当js脚本中有未定义的变量时,后边的语 ...
- matlab各向异性扩散滤波
主要是用来平滑图像的,克服了高斯模糊的缺陷,各向异性扩散在平滑图像时是保留图像边缘的(和双边滤波很像). 通常我们有将图像看作矩阵的,看作图的,看作随机过程的,记得过去还有看作力场的. 这次新鲜,将图 ...
- 前端之Html元素的分类
一.html元素可分为三大类:块元素.内联元素.可变元素 1.块元素: 常见块状元素:div,p,ul,ol,li,dl,dt,dd,form,hr,table,tr,td,h1-h6,filedse ...
- ionic2 tabs 自定义图标
ionic2 tabs 自定义图标 一.准备资源 tabs icon 的svg格式的矢量图片 二.生成字体样式文件 打开icoMoon网站去制作字体文件. 三.使用字体文件 解压下载的文件,将其中的f ...
- iOS 如何解决并发请求时,只接受最后一个请求返回的结果
大致意思是 虽然NSOperation 的cancel 并不能取消请求,但是可以对这个NSOperation进行标记. 当cancel 属性是YES时,表明 NSOperation虽然已经执行,并 ...
- Python学习日志9月14日
今天早晨又没有专心致志的学习,我感觉我可能是累了,需要减轻学习的程度来调整一下咯.这几天装电脑弄的昏天暗地的,身体有点吃不消了.时间真是神奇的魔法,这半个月来,每隔几天都有想要改变策略的想法.今天早晨 ...
- Codeforces Round #317 (Div. 2) C Lengthening Sticks (组合,数学)
一个合法的三角形的充要条件是a<b+c,其中a为最长的一边,可以考虑找出所有不满足的情况然后用总方案减去不合法的情况. 对于一个给定的总长度tl(一定要分完,因为是枚举tl,不分配的长度已经考虑 ...
- UVA 11584 Partitioning by Palindromes 划分回文串 (Manacher算法)
d[i]表示前面i个字符划分成的最小回文串个数, 转移:当第i字符加进来和前面区间j构成回文串,那么d[i] = d[j]+1. 要判断前面的字符j+1到i是不是回文串,可以用Manacher算法预处 ...
- layui模块规范
刚入公司不久,就开始做项目了,最后还是选择用layui来做前端的页面,一来是可以自适应,二来是用框架比较方便,简洁. 先看下Layui的介绍: layui 是一款采用自身模块规范编写的情怀级前端UI框 ...
- Cayley凯莱定理——一一对应
定理 过$n$个有标志顶点的树的数目等于$n^{n-2}$. 此定理说明用$n-1$条边将$n$个已知的顶点连接起来的连通图的个数是$n^{n-1}$.也可以这样理解,将n个城市连接起来的树状网络有$ ...