Synology 群辉NAS安装(6)安装mssql

Synology 群辉NAS安装(6)安装mssql

写在前面

mssq是一个重要节点。

这是因为我对mysql没有一丝好感。虽然接触了许多年,但垃圾就是垃圾。

至少对个人开发者而言,非常垃圾。

不到万般无奈我是不会用的。

mssql我用得比较多。oracle虽然也用得很多,但过于啰嗦了,当然性能确实是好。mssql的性能也怎么好。

但是,mssql的设计中规中矩,没有太多幺蛾子。比较好用.

但是,又是但是,群辉的NAS,我们说了,首先,在官方提供的官方套件中,肯定是不可能有msaql,所以,只能是通过docker。

先说一下情况,理论上,本来,基于docker装个sqlserver是极为简单的事,因为微软的支持还是不错的。

但是,我的NSA内存不足(2G),等内存邮过来,花了两天。之前在内存不足时,没有下决心买一条,又耽误了两天。所以就耽误了。

这都是坑啊。希望谁到这里的您,不要这样浪费了几天时间。

mssql 2019:成功安装

说明,这个最终成功了

我的nas版本是7.2.2

然后基于这个博主的文章:

https://blog.csdn.net/zlbdmm/article/details/127350412

几乎没有改变.

只是两点,一个是他用的版本可能稍旧.

现在的所有的配置在同一个界面.

另一个是,也不需要将continer以高级权限启动。

具体指令如下:

复制代码
sudo docker pull mcr.microsoft.com/mssql/server:2019-latest

然后都是在可视化界面操作。如文中所说,都完全成功复现。

mssql 2022没有成功

1. pull image

这个任务,可以基于NAS的Container Manager中的功能。

也可以:

docker pull mcr.microsoft.com/mssql/server:2022-latest

然后可以手工创建,也可以用docker-compose来创建并启动一个docker container.

对了,这里我想补充一下,我也想过基于mssql 2008制作一个docker image,但过程过于复杂,我也没有linux版的mssql 安装包。

2.启动mssql docker container

root@DS220plus:/var/opt/mssql# cat ./docker-compose.yml

复制代码
version: '3.3'
services:
  sqlserver:
    image: mcr.microsoft.com/mssql/server:2022-latest
    container_name: mssql-server
    restart: always
    environment:
      - ACCEPT_EULA=Y
      - SA_PASSWORD=123456
      - MSSQL_SA_PASSWORD=123456
    ports:
      - 1433:1433
    volumes:
      - /var/opt/mssql:/var/opt/mssql

这里我解释一下,之前我提到,尽可能用docker run , 为什么这里用的是docker-compose

因为docker-compose的确相对容易使用。

docker-compose的bug一般来自于在一个yml文件中、放置2个或多个 container的情况,因为docker-compose对 volumes的解释,并没有明确的规则。在这里时常会出错(基本必然出错)。

但我们这里,显然只有一个docker container需要创建。

docker-compose的问题很久以前可能我描述过,因为docker的设计比较简单,而k8s有pod的概念,可是并没有类似pod的概念,也导致这些问题。当然,k8s就过于重量级了。

不过,如果想用docker run,如下

复制代码
docker run -d \
  --name mssql-server \
  --restart always \
  -e ACCEPT_EULA=Y \
  -e SA_PASSWORD=123456 \
  -e MSSQL_SA_PASSWORD=123456 \
  -p 1433:1433 \
  -v /var/opt/mssql:/var/opt/mssql \
  mcr.microsoft.com/mssql/server:2022-latest

当然,也可以使用NAS自带的可视化界面.

但是我没有成功啊.所以就不演示了.

注意几个点:

1。 主机需要自己建/var/opt/mssql 目录。

注意NAS第一个用户并不是root,如果是用的那个用户,一定要sudo。

似乎不用root来做这些事,会出问题。

要确保/var/opt/mssql目录的访问权限是OK的。

2。 关于端口,这个地方,我是没搞明白,微软的sqlserver management可视化界面,并没有地方能指定端口,所以,我只好主机和container中,都指向了1433,当然container没有强制要求。

3。 sudo docker-compose up

即可以启动container了。

远程连接

找个客户端,填完信息后:测试连接.能看到OK

相关推荐
Yeats_Liao28 分钟前
时序数据库系列(四):InfluxQL查询语言详解
数据库·后端·sql·时序数据库
白衣鸽子34 分钟前
MySQL数据库的“隐形杀手”:深入理解文件结构与治理数据碎片
数据库·后端·mysql
IvanCodes1 小时前
openGauss安装部署详细教程
大数据·数据库·sql·opengauss
王道长服务器 | 亚马逊云1 小时前
AWS + 苹果CMS:影视站建站的高效组合方案
服务器·数据库·搜索引擎·设计模式·云计算·aws
java干货1 小时前
MySQL “灵异事件”:我 INSERT id=11,为什么被 UPDATE id=10 锁住了?
android·数据库·mysql
記億揺晃着的那天1 小时前
数据库中 ACID 四个核心特性
数据库·mysql·oracle·系统设计·acid
jyd01241 小时前
MongoDB 与 Java 实体类型 LocalTime 时区转换问题解决方案
java·数据库·mongodb
神奇侠20242 小时前
基于spring-boot-admin实现对应用、数据库、nginx等监控
java·数据库·nginx
行者游学2 小时前
ETCD 权限配置
数据库·etcd
Zhao_yani3 小时前
Apache Drill 连接 MySQL 或 PostgreSQL 数据库
数据库·mysql·postgresql·drill