本文内容是采集的好几位博主的博文进行的一个整合,内容更为精准和详尽,如下是我参照的几篇博文地址:html
微软官方文档:https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup?view=sql-server-ver15python
CallousMaster:https://blog.51cto.com/13770206/2429881linux
(机器空闲内存低于2G时的解决方案)sql
这就是Me:http://www.javashuo.com/article/p-eoenijam-dk.html 数据库
老张一笑:http://www.javashuo.com/article/p-sffabqgg-md.htmlwindows
而后接下来的内容,我会结合我我的实际安装过程当中碰到的问题,将每一步都写明。tcp
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
yum install -y mssql-server
cd /opt/mssql/bin/
mv sqlservr sqlservr.old
python
oldfile = open("sqlservr.old", "rb").read() newfile = oldfile.replace("\x00\x94\x35\x77", "\x00\x80\x84\x1e") open("sqlservr", "wb").write(newfile) exit()
/opt/mssql/bin/mssql-conf setup
输入数字,选择所要安装的版本,而后在出现询问是否接受许可条款时,输入yes,回车继续下一步。工具
到了这一步的时候,输入SA用户密码(密码长度八位以上,且密码必须包含数字、字母和特殊字符),注意在输入密码的时候,窗口上是不显示任何字符的,因此输入完以后,直接回车,而后再输入一遍,回车确认。sqlserver
systemctl status mssql-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
出现以下图界面,则表示已安装成功
firewall-cmd --zone=public --add-port=1433/tcp --permanent
firewall-cmd --reload
若是执行上述命令的时候,出现这种错误
则表示防火墙未开启,这种状况能够跳过防火墙设置,直接进行下一步
wget -O /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
yum remove unixODBC-utf16 unixODBC-utf16-devel
yum install -y mssql-tools unixODBC-devel
echo "export PATH=$PATH:/opt/mssql-tools/bin" >> /etc/profile
source /etc/profile
sqlcmd -S localhost -U SA -p
出现这个界面,表示登陆成功,而后咱们能够开始写SQL命令。
首先咱们先执行一句SQL语句,建立一个测试数据库,检测是否有效。
CREATE DATABASE [Test]
GO
SELECT [Name] FROM SYS.DATABASES
GO