欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

centos7.x中安装SQL Server

程序员文章站 2022-05-04 14:21:17
本文内容是采集的好几位博主的博文进行的一个整合,内容更为精准和详尽,以下是我参照的几篇博文地址: 微软官方文档:https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup?view=sql-server-ver15 Callou ......

本文内容是采集的好几位博主的博文进行的一个整合,内容更为精准和详尽,以下是我参照的几篇博文地址:

微软官方文档:

callousmaster:

(机器空闲内存低于2g时的解决方案)

这就是me: 

老张一笑:

然后接下来的内容,我会结合我个人实际安装过程中碰到的问题,将每一步都写明。

 下载阿里云在线yum源到本地

wget -o /etc/yum.repos.d/centos-base.repo http://mirrors.aliyun.com/repo/centos-7.repo

下载微软官方的sqlserver源到本地

wget -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo

安装mssql-server(sql server软件包)

yum install -y mssql-server

接下来就是要指定安装哪一个版本了,但是如果机器空闲内存低于2g的话,请继续按照以下步骤,否则,请跳过以下几步

 

破解内存限制

首先切换到 /opt/mssql/bin 目录下

cd /opt/mssql/bin/

然后保存备份文件

mv sqlservr sqlservr.old

使用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()

 

选择想要安装的sql server版本,以及设置sa用户密码

/opt/mssql/bin/mssql-conf setup

centos7.x中安装SQL Server

 

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

centos7.x中安装SQL Server

 

 到了这一步的时候,输入sa用户密码(密码长度八位以上,且密码必须包含数字、字母和特殊字符),注意在输入密码的时候,窗口上是不显示任何字符的,所以输入完之后,直接回车,然后再输入一遍,回车确认。

运行命令,检查sql server状态(运行是否有问题)

systemctl status mssql-server

如果出现了如下图这种错误:

centos7.x中安装SQL Server

 

 在启动sql server引擎的时候出现了错误。

关于这个的解决方案就是,我们需要设置一下 /opt/mssql/bin/sqlservr 目录的权限,让sql server可以访问

cd /opt/mssql/bin/
chmod 777 sqlservr

这次权限分配完成,接着重新输入命令,再次安装

/opt/mssql/bin/mssql-conf setup

安装完成之后,再次检查sql server的状态

systemctl status mssql-server

出现如下图界面,则表示已安装成功

centos7.x中安装SQL Server

 

 设置防火墙,开启远程连接

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

如果执行上述命令的时候,出现这种错误

centos7.x中安装SQL Server

 

 则表示防火墙未开启,这种情况可以跳过防火墙设置,直接进行下一步

安装sqlserver命令行工具

下载微软官方的软件包yum源

wget -o  /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo

如果以前装过mssql,则需要删除较旧的unixodbc软件包

yum remove unixodbc-utf16 unixodbc-utf16-devel 

安装mssql工具包和unixodbc开发人员软件包(这一步命令会出现两次询问:是否接受许可条款,都输入yes,回车确定)

yum install -y mssql-tools unixodbc-devel 

添加path环境变量

echo "export path=$path:/opt/mssql-tools/bin" >> /etc/profile
source /etc/profile

使用sqlcmd命令连接本地的sqlserver,输入之前设置的sa密码

sqlcmd -s localhost -u sa -p

centos7.x中安装SQL Server

 

 出现这个界面,表示登录成功,然后我们可以开始写sql命令。

首先我们先执行一句sql语句,创建一个测试数据库,检测是否有效。

create database [test]
go

centos7.x中安装SQL Server

 

select [name] from sys.databases
go

centos7.x中安装SQL Server

 

 打开本地windows端的ssms,远程连接centos中的sql server

centos7.x中安装SQL Server

 

 centos7.x中安装SQL Server