mssql linux版本,使用linux版mssql打造磐石般的JU系统

两年前,微软着手拥抱开源,开放自家平台,甚至搞出mssql运行在Linux上的震惊计划。

为什么用linux + mssql

mssql是使用最为广泛的一种企业级数据库,linux是整个服务器领域的操作系统霸主,强强联手,稳如磐石。

而相较于 windows + mssql 动辄 20G+ 的基本空间占用,linux + mssql 才 2G,堪称神器,这也是为什么国内很多银行开始纷纷采用该方案。

实践linux + mssql

安装部署centos7

linux发行版,村长选择了centos7

下载后,用hyper-v进行安装,虚拟内存设置要大于2G,其他安装设置默认即可,村长在【软件选择】中勾选了【开发工具】

eb87a7e05781bfd456e7f9204555f013.png

在【网络和主机名】中配置虚拟网卡启用和IP(也可用DHCP)

877e47edaf6d1990ebd22137fb58cf7f.png

然后配置自动分区后即可下一步安装了,安装过程中可以配置root密码。

安装完成后重启,输入root和密码登陆,使用命令df -h查看一下空间占用情况,总共才1.3G,是不是很惊艳?

5a4a5075c568cc903fa372ea367d934e.png

安装部署mssql on linux

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

a346fd8e6650577d25ce297ff5bb60ce.png

运行以下命令,安装 SQL Server

sudoyum install -y mssql-server

软件包安装完成后,运行mssql-conf 安装命令设置 SA 密码,并选择版本,村长选择的是developer版(数字2)

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

d67d396051856efd21c040c379381c76.png

配置完成后,请验证服务是否正在运行:

systemctl status mssql-server

打开防火墙上的 SQL Server 端口。 默认为 1433,使用以下命令:

sudofirewall-cmd --zone=public --add-port=1433/tcp --permanent

sudofirewall-cmd --reload

6856fca107fad886aef640bf8a91c13a.png

OK,现在我们就获得了一台稳如磐石的linux版mssql服务器了,村长这台服务器IP为 192.168.1.222

我们可以通过其他网内的计算机连接该sqlserver,村长创建了一个 ju 数据库备用

824f88b879c348077b5b8d5d38c74f74.png

安装部署聚表服务器

目前ES平台百花齐放,村长准备用聚表/慧表(Juable/Nxcells,以下简称JU)来代替以前的X哲,X表平台,首先安装2.3.22版

进入【服务器端配置】,设置数据源服务器到linux版sql服务器IP,输入之前配置的sa密码,测试连接

e54e77b1931992ccc84a49b893c6f949.png

接下来要把JU的blank.bak上传到centos7,简单起见,村长给centos7安装了samba,直接挂载本地C盘给centos。

sudoyum install -y samba samba-client

sudomkdir -p /mnt/tmp

sudomount -t cifs -o username=administrator,password=123 //192.168.1.200/c$/mnt/tmp

sudomv /mnt/tmp/blank.bak /var/opt/mssql/data/ju.bak

解析:上面命令首先安装了samba,samba-client文件共享协议和客户端,然后创建了/mnt/tmp目录用来挂载我本机C盘,其中192.168.1.200是我本机IP,事先我已把JU的blank.bak复制到了c盘根目录,方便拷贝,最后一个命令就是将bak移动到了centos的/var/opt/mssql/data目录下,并重命名为ju.bak

648f9f2f477d179c33366856121fbeac.png

OK,接下来就可以在JU上恢复备份了,路径里手动填入/var/opt/mssql/data/ju.bak,恢复即可。

75269287e07b525775a0040df7276722.png

完毕,有了linux版mssql的强力支持,村长要开始快乐地撸JU了~!

d9f7de40bab37f8a2be56ee077d49fa6.png

后记

感谢 @Juable-杨工 提供的特别版JU服务器配置管理程序。

目前经过一系列测试,linux版sql基础性能与sql2008r2相仿,只需要2G空间,神图镇楼:

9307d4aaf704ee5ea3ef00c71fa66b02.png