centos 7 和 win10 安装SQL Server 2017

浏览: 3160

ben纠结了很久终于在linux安装和Win10上安装好SQL Server2017,在此记录下踩的坑

一.在Cent OS 7

1.官网正常安装流程

$sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
$sudo yum install -y mssql-server
$sudo /opt/mssql/bin/mssql-conf setup
$sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
$sudo firewall-cmd --reload
$sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
$sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
$sudo yum install -y mssql-tools unixODBC-devel
$echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
$echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
$source ~/.bashrc
$sqlcmd -S localhost -U SA

此时应会显示提示符:1>      即安装成功

中文Microsoft官网:https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-2017

2.遇到的一些问题

安装mssql-server需要内存约4G;python2.7升级到python3.6,在安装的时候和一些命令不兼容

1) yum安装

$sudo yum install -y mssql-server

报错except KeyboardInterrupt, e:SyntaxError: invalid syntax

$sudo vi /usr/bin/yum
#!/usr/bin/python -> #!/usr/bin/python2.7

$sudo vi /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python -> #!/usr/bin/python2.7

2) 内置py文件对python要求

$sudo /opt/mssql/bin/mssql-conf setup

报错:    File "/opt/mssql/lib/mssql-conf/mssqlconfhelper.py", line 155

            print _("Setting language using LCID from environment variable %s") % mssqlLcidEnvVariable

            SyntaxError: invalid syntax

原因是sqlserver2017安装支持的是python2.X,此时需要把linux默认python改成2.7

sudo mv /usr/bin/python /usr/bin/python.bak && sudo mv /usr/local/bin/python /usr/local/bin/python.bak
sudo ln -s /usr/bin/python2.7 /usr/bin/python

二、在win10安装机器学习服务

电脑第一次安装的话,跟着官网流程走就行,但是如果安装机器学习服务的话,安装的R和python包大小为1.3G,需要网速稳定,否则很容易卡在那里,在此推荐把相关的文件下载放到默认下载地方(路径 C:\Users\86135\AppData\Local\Temp)或者离线安装(参考官网 https://docs.microsoft.com/zh-cn/sql/advanced-analytics/install/sql-ml-component-install-without-internet-access?view=sql-server-2017)

1.安装问题

在此吐槽下离线安装的问题,下载好的2017 cab文件,选择好后安装路径一直没反应,如下图

QQ截图20181109162931.png

这时候需要把下载好的文件改下后缀名,正好对应上图lcid的数字,如下图

QQ图片20181116160116.png

当然啦,网速好的童鞋可以不用脱机安装

2.账户MSSQLSERVER00已存在

安装机器学习服务报错:创建本地账户MSSQLSERVER00时出错,账户已存在。

这是以前安装机器学习服务,后面没有卸载干净,这时候需要把本地相关的SQLSERVER组删除

打开cmd,输入命令netplwiz,把本地多余的用户删除干净,尝试再安装机器学习服务还是未解决,在此记录下留待后续。

3.后续安装包报错

开始使用SQL Server还是OK的,然而卸载后再重新安装使用一段时间后运行会报错:无法与 'R' 脚本的运行时进行通信。请检查 'R' 运行时的要求。来自外部脚本的 STDERR 消息,参考了官网的介绍和网上的博客,发现原因是C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\Binn的rlauncher.config中WORKING_DIRECTORY路径不能带有空格


总结:linux主要还是版本不兼容导致的SQL Server2017安装失败,之前看官网评论还以为不支持CentOS,查看具体报错的python代码才发现是兼容问题,以后观察问题还是需要细致点

推荐 1
本文由 走马兰台 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册