达梦数据库安装
2024/11/5
达梦数据库安装
参考文档:
达梦官网 https://eco.dameng.com/document/dm/zh-cn/start/dm-install-docker.html
安装前准备
软硬件环境
Docker镜像下载
官网下载地址: https://eco.dameng.com/download/

下载后的文件名称为dm8_20241022_x86_rh6_64_single.tar
并将其上传到服务器/opt目录下
执行安装
导入安装包
# 切换目录
cd /opt
# 导入镜像
docker load -i dm8_20241022_x86_rh6_64_single.tar
# 查看导入的镜像
docker images
导入完成后,可以使用 docker images 查看导入的镜像。结果显示如下:
注意REPOSITORY和TAG字段,在下面的启动命令中会用的到。

启动容器
docker run -d -p 35236:5236 --restart=always --name=dm8 --privileged=true -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e PAGE_SIZE=16 -e EXTENT_SIZE=32 -e LOG_SIZE=1024 -e UNICODE_FLAG=1 -e INSTANCE_NAME=dm8 -v /mydata/docker/dm8/data:/opt/dmdbms/data dm8_single:dm8_20241022_rev244896_x86_rh6_64
启动相关参数说明
容器运行相关参数说明:
| 参数名 | 参数描述 |
|---|---|
| -d | -detach 的简写,在后台运行容器,并且打印容器 id。 |
| -p | 指定容器端口映射,比如 -p 30236:5236 是将容器里数据库的 5236 端口映射到宿主机 30236 端口,外部就可以通过宿主机 ip 和 30236 端口访问容器里的数据库服务。 |
| --restart | 指定容器的重启策略,默认为 always,表示在容器退出时总是重启容器。 |
| --name | 指定容器的名称。 |
| --privileged | 指定容器是否在特权模式下运行。 |
| -v | 指定在容器创建的时候将宿主机目录挂载到容器内目录,默认为/home/mnt/disks |
使用 -e 命令指定数据库初始化参数时,需要注意的是目前只支持预设以下九个 DM 参数。
| 参数名 | 参数描述 | 备注 |
|---|---|---|
| PAGE_SIZE | 页大小,可选值 4/8/16/32,默认值:8 | 设置后不可修改 |
| EXTENT_SIZE | 簇大小,可选值 16/32/64,默认值:16 | 设置后不可修改 |
| CASE_SENSITIVE | 1:大小写敏感;0:大小写不敏感,默认值:1 | 设置后不可修改 |
| UNICODE_FLAG | 字符集选项;0:GB18030;1:UTF-8;2:EUC-KR,默认值:0 | 设置后不可修改 |
| INSTANCE_NAME | 初始化数据库实例名字,默认值:DAMENG | 可修改 |
| SYSDBA_PWD | 初始化实例时设置 SYSDBA 的密码,默认值:SYSDBA001 | 可修改 |
| BLANK_PAD_MODE | 空格填充模式,默认值:0 | 设置后不可修改 |
| LOG_SIZE | 日志文件大小,单位为:M,默认值:256 | 可修改 |
| BUFFER | 系统缓存大小,单位为:M,默认值:1000 | 可修改 |
注意
1.SYSDBA_PWD 预设的时候,密码长度为 9~48 个字符,docker 版本使用暂不支持特殊字符为密码。
2.-e 设置的时候 初始化参数必须使用大写,不可使用小写。
通过以下命令可以查看 Docker 镜像中数据库初始化的参数。
docker inspect dm8查看镜像

查看启动日志
docker logs -f dm8
或
docker logs -f 0e3442ed72da
连接数据库
注意
1.如果使用 docker 容器里面的 disql,进入容器后,先执行 source /etc/profile 防止中文乱码。
2.新版本 Docker 镜像中数据库默认用户名/密码为 SYSDBA/SYSDBA001。
容器内部连接
# 进入容器
docker exec -it dm8 bash
# 切换目录
cd /opt/dmdbms/bin
# 防止中文乱码
source /etc/profile
# 连接数据库
./disql SYSDBA/SYSDBA001
执行如下命令,查询数据
select ID_CODE();
使用达梦管理工具连接
创建连接

执行SQL语句

