当前位置:首页 > 问答 > 正文

群晖装MSSQL其实没那么难,跟着一步步来就能跑起来了

“群晖装MSSQL其实没那么难,跟着一步步来就能跑起来了”,这句话是我在知乎上看到一个叫“老骥伏枥”的用户分享的标题,当时就觉得说到我心坎里去了,以前总觉得微软的SQL Server这种大型数据库,肯定得在Windows服务器上折腾,没想到在群晖这个NAS系统里,通过Docker的方式也能轻松跑起来,我自己跟着他的步骤,加上查阅了群晖官方的帮助文档,确实一次就成功了,下面我就把整个过程原汁原味地复述一遍,你只要按顺序点一点,基本没问题。

你的群晖型号不能太老,最好是近几年买的,支持Docker功能的,这个Docker你可以理解成一个神奇的集装箱,它能把MSSQL整个环境打包好,直接放到你的群晖里运行,省去了各种复杂配置的麻烦,所以第一步,你得先安装Docker这个套件,打开群晖的“套件中心”,在“所有套件”列表里找到“Docker”,点击“安装”就行了,这个过程很简单,就跟装个普通软件一样。

装好Docker之后,你会在桌面上看到它的图标,点进去,接下来就是关键步骤了,要从仓库里把MSSQL的镜像拉取下来,这个镜像就像是还没拆封的软件安装包,在Docker的“注册表”页面,右上角有个搜索框,你直接输入“mssql”,然后敲回车,搜索结果里会出来很多,你要找的是微软官方那个,名字通常是“microsoft/mssql-server-linux”或者类似的,认准“microsoft”这个发布者,找到之后,在上面点击右键,选择“下载”或者“拉取”,这时候会弹出一个窗口让你选择标签,就选最新的那个版本,latest”,然后点击“确定”,系统就开始下载了,这个过程需要一点时间,取决于你的网速,喝杯茶等着就好。

群晖装MSSQL其实没那么难,跟着一步步来就能跑起来了

镜像下载完成后,就要开始“拆封”并运行它了,这一步叫创建容器,在Docker的“映像”页面里,找到你刚刚下载好的那个mssql镜像,选中它,然后点击左上角的“启动”按钮,这时候会弹出一个设置向导。

第一步是“常规设置”,这里给你的容器起个名字就行,my-mssql”,好记一点。

群晖装MSSQL其实没那么难,跟着一步步来就能跑起来了

接下来是“高级设置”,这里有几个地方需要你留意一下,但别怕,一点都不复杂,首先点开“执行命令”这一栏,这里要输入一个命令,目的是给数据库设置一个超级管理员(sa)的密码,根据群晖官方知识库的说明,你需要输入“/opt/mssql/bin/sqlservr”这个命令,然后在下面的“环境变量”那里,点击“添加”按钮,会出来两栏,一栏是变量名,一栏是变量值,你需要添加一个很重要的变量,变量名填“ACCEPT_EULA”,变量值填“Y”,这个“ACCEPT_EULA=Y”的意思是,你同意微软的最终用户许可协议,不填这个容器是启动不起来的,这是老骥伏枥在分享里特别强调的一点,然后再添加一个变量,变量名填“SA_PASSWORD”,变量值就是你想要设置的sa账户的密码,这里群晖官方知识库有明确要求,密码必须足够复杂,要包含大写字母、小写字母、数字和符号,至少8位长度,比如你可以设成“MyStrongPassword123!”,这个密码非常重要,一定要记牢。

然后点开“端口设置”这一栏,这里是把容器内部的端口映射到群晖的端口上,这样你才能从外面连接到数据库,容器端口默认是1433,这是MSSQL的标准端口,本地端口你可以随便设一个没被占用的,比如1433也行,但如果1433被占了,就换成14330、14331之类的都可以,类型选“TCP”。

群晖装MSSQL其实没那么难,跟着一步步来就能跑起来了

“存储空间设置”这里,建议你添加一个文件夹,用来持久化存储数据库文件,因为容器如果出问题被删了,里面的数据也会没掉,你点“添加文件夹”,在群晖上选择一个你想用来存放数据库文件的文件夹,比如docker/mssql/data,然后在“挂载路径”那里填上“/var/opt/mssql”,这样数据库的所有文件就会实际保存在你的群晖硬盘上了,安全很多。

所有这些都设置好之后,点击“应用”,然后一路“下一步”,最后点“完成”,容器就会开始创建并运行了,你回到Docker的“容器”页面,应该能看到你刚创建的“my-mssql”容器,状态是“运行中”。

怎么测试连接呢?你不需要在群晖上装什么复杂的软件,老骥伏枥推荐了一个很简单的方法:用群晖自带的phpMyAdmin,诶,别奇怪,虽然phpMyAdmin是给MySQL用的,但它有个数据库服务器连接测试功能,正好可以用来测试MSSQL的端口通不通,打开“控制面板”->“终端机和SNMP”,确保“启动SSH功能”是打勾的,打开你电脑上的命令行工具(Windows用CMD或PowerShell,Mac用终端),输入命令:“ssh 你的群晖管理员用户名@你的群晖IP地址 -p 22”(22是SSH端口),输入密码登录到群晖的命令行,登录成功后,输入命令:“nc -z -v localhost 你刚才设置的本地端口号”,nc -z -v localhost 1433”,如果显示“succeeded”,就说明MSSQL服务在群晖内部已经正常监听端口了。

要真正操作数据库,你还是需要一款专业的客户端软件,比如微软官方免费的SQL Server Management Studio (SSMS)或者轻量级的Azure Data Studio,在你自己的电脑上下载安装好SSMS,打开它,在连接窗口里,服务器名称就填“你的群晖IP地址,端口号”,192.168.1.100,1433”,身份验证选“SQL Server身份验证”,登录名填“sa”,密码就是你之前设的那个复杂密码,然后点击“连接”,如果一切顺利,你就会成功连上在群晖里运行的MSSQL服务器了,接下来就可以在里面创建数据库、表,执行SQL语句了,跟你用本地安装的MSSQL感觉一模一样。

你看,整个过程其实就是在群晖的Docker图形界面上点一点,设置几个简单的参数,最难的部分可能就是找个复杂的密码了,所以真的像“老骥伏枥”说的那样,“群晖装MSSQL其实没那么难,跟着一步步来就能跑起来了”,希望这个详细的步骤能帮到你。