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

相关推荐
清风细雨_林木木15 分钟前
Nodejs+MySQL数据库管理
数据库·mysql
A__tao15 分钟前
在线 SQL 转 flask SQLAlchemy 模型
数据库·sql·flask
琑952 小时前
Next.js项目MindAI教程 - 第四章:用户认证系统
开发语言·javascript·数据库·人工智能·mysql·typescript·node.js
一朝入魔6 小时前
oracle 中创建 socket客户端 监听数据库变动,返回数据给服务端!!!
数据库·oracle
洛北辰南7 小时前
系统架构设计师—案例分析—数据库篇—分布式缓存技术
数据库·分布式·系统架构·缓存技术
星光璀璨山河无恙8 小时前
【MySQL】数据库简要介绍和简单应用
数据库·mysql
px52133448 小时前
Solder leakage problems and improvement strategies in electronics manufacturing
java·前端·数据库·pcb工艺
啥都想学的又啥都不会的研究生9 小时前
Redis设计与实现-数据持久化
java·数据库·redis·笔记·缓存·面试
新知图书9 小时前
Windows下安装MongoDB 8
数据库·windows·mongodb
jay丿9 小时前
Django 分页操作详解
数据库·django·sqlite