Windows
安装 WSL
1.安装前提
要在 Windows 10+ 上成功运行 WSL 2,首先需要满足以下硬件条件:
64 位处理器,带二级地址转换 (SLAT);
4GB 系统内存;
在 BIOS 中启用硬件虚拟化;
您必须运行 Windows 10 2004 及以上版本(内部版本 19041 及以上)或 Windows 11,才能使用以下命令,否则需要进行更复杂的手动安装,这里主要是自动安装。*## 2) 下载并安装 Windows 10
2.下载并安装 WSL
通过右键单击并选择 “以管理员身份运行”,以管理员模式打开 PowerShell 或 Windows 命令提示符,输入命令 “wsl --install”,并在安装完成后重新启动计算机**。该命令将启用运行 WSL 和安装 Ubuntu Linux 发行版所需的功能。

3.重启电脑
重启电脑将自动安装 Linux 子系统(默认为 Ubuntu)。

4.检查系统配置
检查是否已在控制面板 -> 程序 → 启用或禁用 Windows 功能中勾选 Windows 子系统和 Linux 虚拟机平台。

5.设置用户名和密码
安装完 WSL 后,你需要为新安装的 Linux 发行版创建一个用户账户和密码。点击 “开始 ”菜单打开 Linux 发行版(默认为 Ubuntu)。此时,系统会要求你为 Linux 发行版创建一个用户名和密码。请注意:
该用户名和密码是每个已安装的 Linux 发行版所特有的,与 Windows 用户名无关。
输入密码时,屏幕上不会显示任何内容。这叫做盲打。您看不到自己在输入什么,这很正常。
创建用户名和密码后,该账户将成为发行版的默认用户,并在启动时自动登录。
该账户将被视为 Linux 管理员,可以运行 sudo(超级用户操作)管理命令。
在 WSL 上运行的每个 Linux 发行版都有自己的 Linux 用户账户和密码。每当添加、重新安装或重置一个发行版时,都必须配置一个 Linux 用户账户。
要更改或重置密码,请打开 Linux 发行版并输入命令:passwd。系统会要求你输入当前密码,然后要求你输入新密码,之后再要求你确认新密码。
忘记密码
a.请打开 PowerShell 并使用以下命令进入默认 WSL 发布的根目录:wsl -u root
如果需要更新非默认发行版中被遗忘的密码,请使用以下命令:wsl -d Debian -u root,并用目标发行版的名称替换 Debian。
b.在 PowerShell 的根级别打开 WSL 发布后,可以使用以下命令更新密码:passwd
c.系统将提示您输入新的 UNIX 密码,然后您可以确认该密码。在收到密码已成功更新的提示后,在 PowerShell 中使用以下命令关闭 WSL:exit。

6.检查 WSL 版本
在 PowerShell 或 Windows 命令提示符下输入以下命令,即可列出已安装的 Linux 发行版,并检查每个发行版的 WSL 版本:wsl -l -v,默认为 WSL 2。

安装 Docker DeskTop
1.安装前提
WSL 1.1.3.0 或更高版本。
Windows 11 64 位: 家庭版、专业版、企业版和教育版需要 21H2 或更高版本。
Windows 10 64 位。
家庭版、专业版、企业版和教育版的 Push Home 需要 22H2(版本 19045)或更高版本。
家庭版、专业版、企业版和教育版最低要求为 21H2(版本 19044)或更高版本。
在 Windows 上启用 WSL 2 功能
2.下载并安装 Docker DeskTop



3.启动 Docker DeskTop
安装已完成。如果在启动 Docker Desktop 时出现以下错误,可以点击 Windows 设置中的更新 Windows,并在更新后重启电脑以解决问题。


*特别提醒
Docker desktop 与 Ubuntu 中的 docker 不同,它有一个特殊的机制:它会在 wsl2 中加载一个块设备,然后直接从这个块设备使用完整的 docker 环境,包括 docker 命令、docker 代理和 docker 镜像目录。 ubuntu 不要在 ubuntu 上安装 docker,请使用 docker desktop。
通过 Docker 部署独立的 DingoDB
1.创建 docker-compose.lite.yml
在 Windows 目录中新建一个文件 docker-compose.lite.yml。
---
x-shared-environment: &shared-env
SERVER_LISTEN_HOST: 0.0.0.0
SERVER_HOST: host.docker.internal
RAFT_LISTEN_HOST: 0.0.0.0
RAFT_HOST: host.docker.internal
COOR_RAFT_PEERS: host.docker.internal:22101
COOR_SRV_PEERS: host.docker.internal:22001
DEFAULT_REPLICA_NUM: 1
DINGODB_ENABLE_LITE: 1
DEFAULT_MIN_SYSTEM_DISK_CAPACITY_FREE_RATIO: 0.05
DEFAULT_MIN_SYSTEM_MEMORY_CAPACITY_FREE_RATIO: 0.20
DINGODB_ENABLE_ROCKSDB_SYNC: 1
DINGODB_ENABLE_REGION_SPLIT_AND_MERGE_FOR_LITE :0
services:
coordinator1:
image: dingodatabase/dingo-store:latest
hostname: coordinator1
container_name: coordinator1
ports:
- 22001:22001
- 22101:22101
- 28001:8000
# network_mode: host
volumes:
- d:\coordinator1:/opt/dingo-store/dist/coordinator1/data
networks:
- dingo_net
environment:
FLAGS_role: coordinator
COORDINATOR_SERVER_START_PORT: 22001
COORDINATOR_RAFT_START_PORT: 22101
INSTANCE_START_ID: 1001
<<: *shared-env
store1:
image: dingodatabase/dingo-store:latest
hostname: store1
container_name: store1
ports:
- 20001:20001
- 20101:20101
# network_mode: host
volumes:
- d:\store1:/opt/dingo-store/dist/store1/data
networks:
- dingo_net
depends_on:
- coordinator1
environment:
FLAGS_role: store
RAFT_START_PORT: 20101
SERVER_START_PORT: 20001
INSTANCE_START_ID: 1001
<<: *shared-env
index1:
image: dingodatabase/dingo-store:latest
hostname: index1
container_name: index1
ports:
- 21001:21001
- 21101:21101
# network_mode: host
volumes:
- d:\index1:/opt/dingo-store/dist/index1/data
networks:
- dingo_net
depends_on:
- coordinator1
environment:
FLAGS_role: index
INDEX_RAFT_START_PORT: 21101
INDEX_SERVER_START_PORT: 21001
INDEX_INSTANCE_START_ID: 1101
<<: *shared-env
executor:
image: dingodatabase/dingo:latest
hostname: executor
container_name: executor
ports:
- 8765:8765
- 3307:3307
networks:
- dingo_net
environment:
DINGO_ROLE: executor
DINGO_HOSTNAME: executor
DINGO_COORDINATORS: host.docker.internal:22001
DINGO_MYSQL_COORDINATORS: host.docker.internal:22001
<<: *shared-env
proxy:
image: dingodatabase/dingo:latest
hostname: proxy
container_name: proxy
ports:
- 13000:13000
- 9999:9999
networks:
- dingo_net
environment:
DINGO_ROLE: proxy
DINGO_HOSTNAME: proxy
DINGO_COORDINATORS: host.docker.internal:22001
<<: *shared-env
networks:
dingo_net:
driver: bridges
docker-compose.lite.yml 重要参数描述
x-shared-environment: &shared-env
...
DEFAULT_MIN_SYSTEM_DISK_CAPACITY_FREE_RATIO: 0.05
#The node space will be read-only if it is less than 5%, mainly used for testing the modification parameter, user can ignore to set this parameter.
DEFAULT_MIN_SYSTEM_MEMORY_CAPACITY_FREE_RATIO: 0.20
#The parameter will be read-only when the node memory is 20%, mainly used to test the modification parameter, user can ignore to set this parameter.
DINGODB_ENABLE_ROCKSDB_SYNC: 1
# 1: Enable rocksdb sync mode, when writing to WAL, it will ensure the data is written to the file system to avoid losing part of the data when restarting the service, but it will lead to performance degradation.
DINGODB_ENABLE_REGION_SPLIT_AND_MERGE_FOR_LITE : 0
# 1: Enable region split and merge function, the split of vector index is more CPU intensive, it is not recommended to enable it. 0: Disable region split and merge function.
2.数据持久性
在 docker-compose.lite.yml 中配置卷挂载。参数的含义是 Path to host:容器内的路径。
不要修改容器中的路径,主机路径使用绝对路径,确保磁盘驱动器存在,如果不存在,目录将自动创建。
services:
coordinator1:
...
volumes:
- d:\coordinator1:/opt/dingo-store/dist/coordinator1/data
...
store1:
...
volumes:
- d:\store1:/opt/dingo-store/dist/store1/data
...
index1:
...
volumes:
- d:\index1:/opt/dingo-store/dist/index1/data
...
*启动 Docker Desktop 后,*在 yaml 目录中打开 Powershell,输入命令调出 dingodb 映像并启动容器:
docker-compose -f <docker-compose.lite.yml path> up -d
3.查看流程
通过 Docker Tesktop 查看容器状态和资源使用情况。

通过 localhost: 22001 或 127.0.0.1: 22001 查看 Dingo-store 服务信息。

开始 DingoDB 之旅
下面提供了两种使用方法。
DBeaver
1.创建连接

2.选择 Mysql 驱动程序

3.配置连接参数

4.测试链接

Mysql 客户端
1.安装 Mysql 客户端
apt-get update
apt-get install -y mysql-client
2.检查 Mysql 版本、
建议使用 v8.0.36 或更高版本
mysql --version
mysql Ver 8.0.36 for Linux on x86_64 (Source distribution)
3.连接到 DingoDB
密码默认为 123123。
mysql -h 127.0.0.1 -P 3307 -uroot -p ******