当前位置: 首页 > news >正文

docker内安装达梦8数据库

1. 其他机器上实现挂载ISO

# 1. 确保挂载点目录存在(你已经创建了dm8目录)
ls -ld dm8

# 2. 使用正确的mount命令挂载ISO
sudo mount -o loop dm8_20250117_HWarm920_kylin10_sp1_64.iso dm8

# 3. 验证是否挂载成功
mount | grep dm8
ls dm8

2. docker内运行安装程序

# 可能需要先设置执行权限
chmod +x DMInstall.bin
# 运行图形化安装或命令行安装
./DMInstall.bin -i  # 交互式命令行安装

解决错误–注意路径要求,不能包含"-":

Please Input the install path [/home/ma-user/dmdbms]:/home/ma-user/work/dmdbms      
The path is invalid. Valid characters contain lower case letter(a-z), upper case letter(A-Z), digit(0-9), underline(_), space( ), and Chinese.
No write permission!  docker内部 详解

3. 达梦数据库连接问题深度排查与解决方案

根据您提供的信息,系统存在多个关键问题需要解决。以下是详细分析和解决方案:

核心问题诊断

  1. 数据库服务未运行

    • DmServiceDMSERVER服务不存在
    • DmAPService是辅助服务,不是主数据库服务
    • 5236端口未监听证实数据库未正常运行
  2. 系统环境异常

    • 非systemd初始化系统(可能是容器环境)
    • 缺少防火墙管理工具
    • 关键配置文件缺失

解决方案

第一步:确认数据库安装完整性

# 检查安装目录结构
ls -l /home/syl/dmdbms/bin/ | grep -E 'dmserver|DmService'

# 查找数据库服务可执行文件
find /home/syl/dmdbms/ -name "dmserver"

第二步:手动启动数据库服务

如果找到dmserver可执行文件:

# 创建数据目录(如果不存在)
mkdir -p /home/syl/dmdbms/data/DAMENG

# 初始化数据库(如果未初始化)
/home/syl/dmdbms/bin/dminit path=/home/syl/dmdbms/data

# 手动启动数据库服务
/home/syl/dmdbms/bin/dmserver path=/home/syl/dmdbms/data/DAMENG/dm.ini

4. 达梦数据库初始化问题解决方案

您遇到的问题是在初始化达梦数据库时未设置SYSDBA密码导致的失败。以下是完整的解决步骤:

1. 正确初始化数据库

使用以下命令初始化数据库,并设置SYSDBA密码:

/home/syl/dmdbms/bin/dminit PATH=/home/syl/dmdbms/data SYSDBA_PWD=L12qwerL SYSAUDITOR_PWD=SyS123Audit CASE_SENSITIVE=0 CHARSET=1 LOG_SIZE=1024 PORT_NUM=5236

错误分析:dminit 加载共享库失败

错误信息

/home/syl/dmdbms/bin/dminit: error while loading shared libraries: libdmnsort.so: cannot open shared object file: No such file or directory

错误原因

这个错误表明当尝试运行达梦数据库(DM8)的初始化工具dminit时,系统无法找到所需的共享库文件libdmnsort.so。这通常是由于以下原因之一:

  1. 环境变量未正确设置:系统不知道在哪里查找达梦数据库的库文件
  2. 库文件缺失libdmnsort.so文件可能未被正确安装或已损坏
  3. 权限问题:当前用户可能没有访问库文件的权限

解决方案

方法1:设置LD_LIBRARY_PATH环境变量

最常见的原因是库路径未正确设置。达梦数据库的库文件通常位于安装目录的binlib子目录下。

# 临时设置(仅当前会话有效)
export LD_LIBRARY_PATH=/home/syl/dmdbms/bin:$LD_LIBRARY_PATH

# 然后再次运行dminit
/home/syl/dmdbms/bin/dminit PATH=/home/syl/dmdbms/data SYSDBA_PWD=L12qwerL SYSAUDITOR_PWD=SyS123Audit CASE_SENSITIVE=0 CHARSET=1 LOG_SIZE=1024 PORT_NUM=5236

要使设置永久生效,可以将上述export命令添加到~/.bashrc~/.bash_profile文件中。

方法2:检查库文件是否存在

确认库文件确实存在于系统中:

find /home/syl/dmdbms -name "libdmnsort.so"

如果找不到该文件,可能需要重新安装达梦数据库软件。

2. 参数说明

  • PATH:数据库数据文件存放路径
  • SYSDBA_PWD:必须包含大小写字母和数字,长度8-48位
  • CASE_SENSITIVE:0表示不区分大小写
  • CHARSET:1表示UTF-8字符集
  • LOG_SIZE:日志文件大小(MB)
  • PORT_NUM:数据库服务监听端口

3. 初始化成功后启动数据库

# 启动数据库服务
/home/syl/dmdbms/bin/dmserver path=/home/syl/dmdbms/data/DAMENG/dm.ini &

# 验证服务是否运行
ps -ef | grep dmserver
netstat -tuln | grep 5236

5. 连接docker内达梦8数据库

/home/syl/dmdbms/bin/disql SYSDBA/L12qwerL@localhost:5236
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/124698.html

相关文章:

  • PhotoShop学习09
  • 设计模式:单例模式
  • AI大模型与知识生态:重构认知的新时代引擎
  • 将mongdb中文档转储到mysql设计思路
  • 众趣科技丨沉浸式 VR 体验,助力酒店民宿数字化营销宣传
  • Maya云渲染工作流,提升渲染速度
  • C++蓝桥杯填空题(攻克版)
  • NLP高频面试题(三十八)——什么是LLM的灾难性遗忘?如何避免灾难性遗忘?
  • C++手写std::function
  • Three.js关键帧动画不连续正放、倒放出现的部分问题
  • 【PVR Review】《A Review of Palmar Vein Recognition》
  • atypica.AI:用「语言模型」为「主观世界」建模
  • Redis的哨兵
  • 深度学习基础--CNN经典网络之分组卷积与ResNext网络实验探究(pytorch复现)
  • EasyX 图形库学习笔记
  • c#程序结构
  • 单北斗终端:铸就国产科技脊梁
  • 告别 ifconfig:为什么现代 Linux 系统推荐使用 ip 命令
  • 【蓝桥杯Web】2022年十三届省赛大学组真题 冬奥大抽奖 介绍 蓝桥云课庆冬奥需要举行一次抽奖活动,我们一起做一个页面提供给云课冬奥抽奖活动使用。
  • 【算法】【蓝桥23国A软件C】四版代码思路分析与逐步优化
  • influxdb数据导出笔记
  • 【结肠息肉AI论文集】Shallow Attention Network for Polyp Segmentation
  • Flutter容器组件深度解析
  • C++基础精讲-02
  • idea里面不能运行 node 命令 cmd 里面可以运行咋回事啊
  • 北京大学DeepSeek内部研讨系列:AI在新媒体运营中的应用与挑战|122页PPT下载方法
  • Excel通过VBA脚本去除重复数据行并保存
  • 2025年常见渗透测试面试题- PHP考察(题目+回答)
  • Kotlin 通用请求接口设计:灵活处理多样化参数
  • HackMyVM-Hotel