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,因 ...
随机推荐
- 操作系统内核(linux)
操作系统的内核(Kernel) 是一组程序,这组程序的重点在于管理计算机的所有活动以及驱动系统中的所有硬件. 有了内核后,开发者不必自己去考虑机器语言.所有硬件的相关参数.程序的可移植性.专一性了.但 ...
- Spring框架学习——AOP的开发
一.AOP开发中的相关术语. ——JoinPoint(连接点):指那些可以被拦截到的点.比如增删改查方法都可以增强,这些方法就可以被称为是连接点. ——PointCut:切入点,真正被拦截的点,指对哪 ...
- 搭建高可用mongodb集群—— 副本集
转自:http://www.lanceyan.com/tech/mongodb/mongodb_repset1.html 在上一篇文章<搭建高可用MongoDB集群(一)——配置MongoDB& ...
- leetcode378 Kth Smallest Element in a Sorted Matrix
思路1: 使用堆. 实现: class Solution { public: int kthSmallest(vector<vector<int>>& matrix, ...
- CommonJS与ES6、AMD、CMD比较
Javascript,javascript是一种脚本编程语言,有自己独立的语法与语义,没有javascript,也就没有其他的那些概念了. 关于ES6,可直接理解为javascript的增强版(增加了 ...
- Linux下环境搭建(一)——java、tomcat配置
通过2个周末小憩的时间,终究是把linux环境下的jenkins+gitlab+jmeter框架给弄好了.jenkins的配置系列文章,可以翻看我以前的博文.此次,就将在linux下搭建环境的过程以博 ...
- java实现打开Windows控制台窗口
在写Python程序的时候突发奇想了一下,能不能用java代码实现打开控制台窗口呢? 经过查询网络资料和java API文档,终于实现了: package com.primeton.cmd; impo ...
- JSP serverlet区别与联系
jsp是html包含java servlet是java包含html jsp请求到tomcat---tomcat封装了jsp到servlet实现. 所以jsp请求时候,会自动创建session 而不用在 ...
- 微软爆料新型系统,Windows7,Windows10强势来袭
本系统是10月5日最新完整版本的Windows10 安装版镜像,win10正式版,更新了重要补丁,提升应用加载速度,微软和百度今天宣布达成合作,百度成为win10 Edge浏览器中国默认主页和搜索引擎 ...
- kettle数据同步方法
1.实时性要求不高,采用全删全插的方式(适合于维度表.大数据量表) 2.有时间维度,直接从事实表同步的数据,可以采用根据时间字段进行筛选,增量同步.这个网上有很多例子,就不重复写了. 3.没有时间维度 ...