两年前,微软着手拥抱开源,开放自家平台,甚至搞出mssql运行在Linux上的震惊计划。
为什么用linux + mssql
-
mssql是使用最为广泛的一种企业级数据库,linux是整个服务器领域的操作系统霸主,强强联手,稳如磐石。
-
而相较于 windows + mssql 动辄
20G+
的基本空间占用,linux + mssql 才2G
,堪称神器,这也是为什么国内很多银行开始纷纷采用该方案。
实践linux + mssql
安装部署centos7
-
linux发行版,村长选择了centos7
-
版本选择DVD ISO,从阿里云镜像下载:http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1708.iso
-
下载后,用hyper-v进行安装,虚拟内存设置要大于2G,其他安装设置默认即可,村长在【软件选择】中勾选了【开发工具】
- 在【网络和主机名】中配置虚拟网卡启用和IP(也可用DHCP)
-
然后配置自动分区后即可下一步安装了,安装过程中可以配置root密码。
-
安装完成后重启,输入root和密码登陆,使用命令
df -h
查看一下空间占用情况,总共才1.3G,是不是很惊艳?
安装部署mssql on linux
- 首先下载 Microsoft SQL Server Red Hat 存储库配置文件,这些教程都在微软官方文档中:https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
- 运行以下命令,安装 SQL Server
sudo yum install -y mssql-server
- 软件包安装完成后,运行mssql-conf 安装命令设置 SA 密码,并选择版本,村长选择的是developer版(数字2)
sudo /opt/mssql/bin/mssql-conf setup
- 配置完成后,请验证服务是否正在运行:
systemctl status mssql-server
- 打开防火墙上的 SQL Server 端口。 默认为 1433,使用以下命令:
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
-
OK,现在我们就获得了一台稳如磐石的linux版mssql服务器了,村长这台服务器IP为 192.168.1.222
-
我们可以通过其他网内的计算机连接该sqlserver,村长创建了一个
ju
数据库备用
安装部署聚表服务器
-
目前ES平台百花齐放,村长准备用
聚表/慧表
(Juable/Nxcells,以下简称JU)来代替以前的X哲,X表平台,首先安装2.3.22版 -
进入【服务器端配置】,设置数据源服务器到linux版sql服务器IP,输入之前配置的sa密码,测试连接
- 接下来要把JU的blank.bak上传到centos7,简单起见,村长给centos7安装了samba,直接挂载本地C盘给centos。
sudo yum install -y samba samba-client
sudo mkdir -p /mnt/tmp
sudo mount -t cifs -o username=administrator,password=123 //192.168.1.200/c$ /mnt/tmp
sudo mv /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
- OK,接下来就可以在JU上恢复备份了,路径里手动填入
/var/opt/mssql/data/ju.bak
,恢复即可。
- 完毕,有了linux版mssql的强力支持,村长要开始快乐地撸JU了~!
后记
-
感谢
@Juable-杨工
提供的特别版JU服务器配置管理程序。 -
目前经过一系列测试,linux版sql基础性能与sql2008r2相仿,只需要2G空间,神图镇楼: