centos7.x中安装SQL Server
本文内容是采集的好几位博主的博文进行的一个整合,内容更为精准和详尽,以下是我参照的几篇博文地址:
微软官方文档:https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup?view=sql-server-ver15
CallousMaster:https://blog.51cto.com/13770206/2429881
(机器空闲内存低于2G时的解决方案)
这就是Me:https://www.cnblogs.com/johnwii/p/8525490.html
老张一笑:https://www.cnblogs.com/xtdhb/p/11357702.html
然后接下来的内容,我会结合我个人实际安装过程中碰到的问题,将每一步都写明。
1.1 下载阿里云在线yum源到本地
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
1.2 下载微软官方的sqlserver源到本地
wget -O /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
1.3 安装mssql-server(SQL Server软件包)
yum install -y mssql-server
接下来就是要指定安装哪一个版本了,但是如果机器空闲内存低于2G的话,请继续按照以下步骤,否则,直接进行第三部分
破解内存限制
2.1 首先切换到 /opt/mssql/bin 目录下
cd /opt/mssql/bin/
2.2 然后保存备份文件
mv sqlservr sqlservr.old
2.3 使用python修改二进制文件,把里面的2G内存限制改为512M
python
oldfile = open("sqlservr.old", "rb").read()
newfile = oldfile.replace("\x00\x94\x35\x77", "\x00\x80\x84\x1e")
open("sqlservr", "wb").write(newfile)
exit()
3.1 选择想要安装的sql server版本,以及设置SA用户密码
/opt/mssql/bin/mssql-conf setup

输入数字,选择所要安装的版本,然后在出现询问是否接受许可条款时,输入yes,回车继续下一步。

到了这一步的时候,输入SA用户密码(密码长度八位以上,且密码必须包含数字、字母和特殊字符),注意在输入密码的时候,窗口上是不显示任何字符的,所以输入完之后,直接回车,然后再输入一遍,回车确认。
3.2 运行命令,检查SQL server状态(运行是否有问题)
systemctl status mssql-server
如果出现了如下图这种错误:

在启动SQL server引擎的时候出现了错误。
关于这个的解决方案就是,我们需要设置一下 /opt/mssql/bin/sqlservr 目录的权限,让SQL server可以访问
cd /opt/mssql/bin/
chmod sqlservr
这次权限分配完成,接着重新输入命令,再次安装
/opt/mssql/bin/mssql-conf setup
安装完成之后,再次检查SQL server的状态
systemctl status mssql-server
出现如下图界面,则表示已安装成功

3.1 设置防火墙,开启远程连接
firewall-cmd --zone=public --add-port=/tcp --permanent
firewall-cmd --reload
如果执行上述命令的时候,出现这种错误

则表示防火墙未开启,这种情况可以跳过防火墙设置,直接进行下一步
安装sqlserver命令行工具
4.1 下载微软官方的软件包yum源
wget -O /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
4.2 如果以前装过mssql,则需要删除较旧的UnixODBC软件包
yum remove unixODBC-utf16 unixODBC-utf16-devel
4.3 安装mssql工具包和UnixODBC开发人员软件包(这一步命令会出现两次询问:是否接受许可条款,都输入yes,回车确定)
yum install -y mssql-tools unixODBC-devel
4.4 添加PATH环境变量
echo "export PATH=$PATH:/opt/mssql-tools/bin" >> /etc/profile
source /etc/profile
4.5 使用sqlcmd命令连接本地的sqlserver,输入之前设置的SA密码
sqlcmd -S localhost -U SA -p

出现这个界面,表示登录成功,然后我们可以开始写SQL命令。
首先我们先执行一句SQL语句,创建一个测试数据库,检测是否有效。
CREATE DATABASE [Test]
GO

SELECT [Name] FROM SYS.DATABASES
GO

5.1 打开本地windows端的SSMS,远程连接CentOS中的SQL Server


centos7.x中安装SQL Server的更多相关文章
- 阿里云ECS服务器Centos中安装SQL Server(破解内存限制)
前言 前段时间赶上阿里云618活动入手了一个低配的Linux服务器,供自己学习使用,在安装SQL Server中遇到了很多小问题,查阅很多博客结合自身遇到的问题做个总结. 安装过程 1.下载阿里云在线 ...
- CentOS7.5脱机安装SQL Server 2017(NEW)
发现搜到的都是在线下载安装的,都是只安装了mssql-server服务,没有mssql-server-agent服务.还以为linux下mssql没有agent服务呢.一番测试发现可以脱机安装,但是能 ...
- 自动化安装SQL Server+SP就那么简单
随着业务.企业规模的日益壮大,DB的数量也在不断增多,配置一台新增DB,从服务器的参数配置,磁盘阵列规划,DB安装部署,DB参数调优等等一列步骤下来,手工操作的效率变得越来越低,因为我负责的数据库近些 ...
- 一个小时成功安装SQL Server 2012图解教程
在安装微软最新数据库SQL Server 2012之前,编者先确定一下安装环境:Windonws 7 SP1,32位操作系统.CPU是2.1GHz赛扬双核T3500,内存2.93GB. 安装SQL S ...
- 在Red Hat Enterprise Linux 7.3上安装SQL Server 2017
必要条件: 1.在此快速安装过程中,您需要安装SQL Server 2017或SQL Server 2019上Red Hat Enterprise Linux (RHEL) 7.3 +.然后使用sql ...
- 动化安装SQL Server+SP就那么简单
随着业务.企业规模的日益壮大,DB的数量也在不断增多,配置一台新增DB,从服务器的参数配置,磁盘阵列规划,DB安装部署,DB参数调优等等一列步骤下来,手工操作的效率变得越来越低,因为我负责的数据库近些 ...
- CentOS7安装Sql Server、apache2和php72及MSSQL驱动
CentOS7安装apache2和php72及MSSQL驱动 CentOS7版本: [root@localhost ~]# cat /etc/redhat-release CentOS Linux r ...
- 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3.5的详细分析及安装过程
问题:在服务器(操作系统为Windows server 2012)上安装SQL Server 2012的过程中,安装停留在下图所示的界面上,显示”正在启用操作系统功能NetFx3”随后出 ...
- 在打包程序中自动安装SQL Server数据库 .
原文:在打包程序中自动安装SQL Server数据库 . 1.创建安装项目“Setup1”安装项目 在“文件”菜单上指向“添加项目”,然后选择“新建项目”. 在“添加新项目”对话框中,选择“项目类型” ...
随机推荐
- .netcore 3.1高性能微服务架构:webapi规范
1.1 定义 1.基础接口:单一职责原则,每个接口只负责各自的业务,下接db,通用性强. 2.聚合接口:根据调用方需求聚合基础接口数据,业务性强. 1.2 协议 1. 客户端在通过 API 与后端服务 ...
- Dynamics 365 CRM 在 Connected Field Service 中部署 IoT Central (一)- 配置 IoT Central和IoT alert
今天这个系列给大家带来怎样在connected field service中部署IoT Central 并且做连接. 首先, 这里提供微软官方的tutorial的链接https://docs.micr ...
- PowerCat DNS 隧道通信
powercat 也是一套基于 DNS 通信协议的工具.Powercat的dns的通信是基于dnscat设计的(其服务端就是dnscat).在使用dnscat时需要进行下载和编译. dnscat服务端 ...
- centos7搭建hadoop2.10高可用(HA)
本篇介绍在centos7中搭建hadoop2.10高可用集群,首先准备6台机器:2台nn(namenode);4台dn(datanode):3台jns(journalnodes) IP hostnam ...
- MySQL 高可用之主从复制
MySQL主从复制简介 Mysql的主从复制方案,都是数据传输的,只不过MySQL无需借助第三方工具,而是自带的同步复制功能,MySQL的主从复制并不是磁盘上文件直接同步,而是将binlog日志发送给 ...
- STM8 关闭PWM输出后的电平输出问题解决
STM系列的单片机PWM输出如果被关断比如用TIM1_CtrlPWMOutputs进行停止输出后,电平的高低处于不确定的状态. 他取决于: 1.GPIO初始化的特性 2.关断那一刻时的电平 3.CCM ...
- oracle11G 已开启监听,但远程连接依旧无监听解决过程
1.连接数据库显示无监听程序,首先查看服务器的oracle监听服务是否开启,服务名称:OracleOraDb11g_home1TNSListener(具体环境中可能不完全一样,但是认准TNSListe ...
- NOIP2018PJ游记
\(NOIP2018\)普及AFO记 178pt,2=,in ZJ_Hangzhou_学军中学 \(Day\) \(0\) 中午就请假回家打模板了 \(Day\) \(1\) \(A.M.8-12\) ...
- Paper慢慢读 - AB实验人群定向 Double Machine Learning
Hetergeneous Treatment Effect旨在量化实验对不同人群的差异影响,进而通过人群定向/数值策略的方式进行差异化实验,或者对实验进行调整.Double Machine Learn ...
- IntelliJ IDEA的这个接口调试工具真是太好用了!
你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand it well enough ...