Docker 安装达梦 DM8 数据库实战指南

Docker 安装达梦 DM8 数据库实战指南

文章目录

  • [Docker 安装达梦 DM8 数据库实战指南](#Docker 安装达梦 DM8 数据库实战指南)
      • [一 安装环境](#一 安装环境)
      • [二 下载 DM8 安装包](#二 下载 DM8 安装包)
      • [三 导入镜像](#三 导入镜像)
      • [四 启动容器](#四 启动容器)
        • [1)docker run 启动](#1)docker run 启动)
        • [2)docker compose 启动](#2)docker compose 启动)
        • 3)名词解释
      • [五 连接数据库](#五 连接数据库)

本文详细介绍了如何在 CentOS 7.9 环境下,通过 Docker 部署达梦 DM8 数据库的完整流程。首先,用户需要从官方渠道下载 DM8 Docker 镜像并导入容器镜像。接着,文章提供了使用 docker rundocker compose 启动容器的两种方式,并详细解释了容器启动相关参数及数据库初始化参数设置的含义。最后,通过连接容器并进入数据库执行 SQL 语句,验证数据库是否成功部署。该指南适合需要快速部署达梦数据库的开发者和运维人员。

预备课

Docker 安装与配置:从入门到部署

一 安装环境

操作系统 架构
CentOS 7.9 X86-64

二 下载 DM8 安装包

DM8 Docker 镜像下载地址 提供了最新的安装包,仅供学习、测试和开发用途,并享有1年免费试用期。请注意,下载的文件名为 dm8_20240715_x86_rh6_rq_single.tar,大小约为1.1GB,未来版本的文件名可能会有所不同。

三 导入镜像

shell 复制代码
$ docker load < dm8_20240715_x86_rh6_rq_single.tar
# 或者
$ docker load -i dm8_20240715_x86_rh6_rq_single.tar

四 启动容器

1)docker run 启动
shell 复制代码
$ docker run -d -p 30236:5236 --restart=always --name=dm8_test --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_test -v /dm8/data:/opt/dmdbms/data dm8_single:dm8_dm8_20240715_rev232765_x86_rh6_64
2)docker compose 启动
yaml 复制代码
version: '3'
services:
  dm8_test:
    image: dm8_single:dm8_dm8_20240715_rev232765_x86_rh6_64
    container_name: dm8_test
    restart: always
    privileged: true
    ports:
      - 30236:5236
    environment:
      - TZ=Asia/Shanghai
      - LD_LIBRARY_PATH=/opt/dmdbms/bin
      - PAGE_SIZE=16
      - EXTENT_SIZE=32
      - LOG_SIZE=1024
      - UNICODE_FLAG=1
      - INSTANCE_NAME=dm8_test
    volumes:
      - ./dm8/data:/opt/dmdbms/data
3)名词解释

容器运行相关参数说明:

参数名 参数描述
-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 设置的时候 初始化参数必须使用大写,不可使用小写。

3 新版本 Docker 镜像中数据库默认用户名/密码为 SYSDBA/SYSDBA001

五 连接数据库

进入 DM8 容器连接数据库,通过以下命令进入容器

shell 复制代码
$ sudo docker exec -it your容器 /bin/bash

进入数据库脚本目录

shell 复制代码
$ cd /opt/dmdbms/bin

连接数据库

shell 复制代码
$ ./disql SYSDBA/SYSDBA001

运行 SQL 测试

sql 复制代码
select ID_CODE();

注意

1 如果使用 docker 容器里面的 disql,进入容器后,先执行 source /etc/profile 防止中文乱码。

相关推荐
Hello.Reader2 小时前
RedisJSON 路径语法深度解析与实战
数据库·redis·缓存
咚咚?2 小时前
基于gitlab 构建CICD发布到K8S 平台
容器·kubernetes·gitlab
TDengine (老段)2 小时前
TDengine 使用最佳实践(2)
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
尘土哥4 小时前
Docker 快速上手
docker·容器·eureka
设计师小聂!5 小时前
Linux系统中部署Redis详解
linux·运维·数据库·redis
kfepiza5 小时前
Debian-10编译安装Mysql-5.7.44 笔记250706
linux·数据库·笔记·mysql·debian·bash
Touper.5 小时前
Redis 基础详细介绍(Redis简单介绍,命令行客户端,Redis 命令,Java客户端)
java·数据库·redis
不剪发的Tony老师5 小时前
phpMyAdmin:一款经典的MySQL在线管理工具又回来了
数据库·mysql·phpmyadmin
极限实验室5 小时前
TDBC 2025 可信数据库发展大会,极限科技邀您来赴约!
数据库
广州山泉婚姻5 小时前
Docker从环境配置到应用上云的极简路径
docker