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,因 ...
随机推荐
- 集成SpringMVC, Spring, Mybatis环境
web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app version=" ...
- BZOJ3073: [Pa2011]Journeys(线段树优化建图 Dijkstra)
题意 \(n\)个点的无向图,构造\(m\)次边,求\(p\)到任意点的最短路. 每次给出\(a, b, c, d\) 对于任意\((x_{a \leqslant x \leqslant b}, y_ ...
- [Ubuntu]“ubuntu.sh: 113: ubuntu.sh:Syntax error: "(" unexpected ”报错解决方法
原因:有可能是兼容性问题 解决方法: 1.sudo dpkg-reconfigure dash 2.在弹出的窗口选择no
- CentOS 6.5 下,phpmyadmin 建库无权限
阿里云主机.用root进入phpMyadmin,居然没有权限建库. 上网查到命令: grant all privileges on *.* to root@'%' identified by &quo ...
- SQL中的IF ELSE(CASE语句的使用)
大家对IF ELSE语句可能都很熟悉,它是用来对过程进行控制的.在SQL的世界中CASE语句语句有类似的效果.下面简单的介绍CASE语句的用法.考虑下面的情况,假设有个user表,定义如下: CREA ...
- The - Modcrab——使用贪心策略
一.题目信息 The - Modcrab 简单翻译一下:Vova有生命值h1,每次攻击值为a1,每瓶药水恢复生命值c1;Modcrab有生命值h2,每次攻击值为a2.在每个关卡开始,Vova有两种选择 ...
- C#中Lock关键字的使用
C# 中的 Lock 语句通过隐式使用 Monitor 来提供同步功能.lock 关键字在块的开始处调用 Enter,而在块的结尾处调用 Exit. 通常,应避免锁定 public 类型,否则实例将超 ...
- spfa模板+讲解
zz http://blog.sina.com.cn/s/blog_6ad20aef0100mc1a.html Spfa算法 (模板源代码) 这是Bellman Ford的改进算法. 算法介绍: ...
- 工程化---cnpm不是内部命令的解决
(1)问题描述 安装完,执行cnpm -v发现报出不是内部命令. 安装成功如下图: (2)解决方案: 之前配置过默认安装都会在D:\\nodejs\node_global中,所有我们cd 到 这个路径 ...
- linux yum 安装mysql
1.安装查看有没有安装过: yum list installed MySQL* rpm -qa | grep mysql* 查看有没有安装包: yum list mysql* 安装mysql客户端: ...