云计算百科
云计算领域专业知识百科平台

达梦数据库安装服务故障四

你执行 cd /home/dmdba/dm/dmdbms/script/root 时提示“无此文件或目录”,核心原因是 你输入的目录路径与达梦数据库实际安装目录不匹配,路径中多了多余的 /dm 层级,且未准确对应初始化/安装时的实际目录,具体分析和解决方案如下:

一、报错核心原因解析

  • 路径层级错误(核心):你输入的路径是 /home/dmdba/dm/dmdbms/script/root,其中包含多余的 /dm 子目录,而达梦数据库的 dmdbms 目录(bin、script 所在目录)直接在 dmdba 家目录下(即 /home/dmdba/dmdbms),并非 /home/dmdba/dm/dmdbms,多一层 /dm 导致无法找到目录。
  • 混淆“安装目录”与“数据目录”:你之前通过 dminit 初始化的数据库数据目录是 /dm/dbdata/dmdata/DMDB(存放数据文件、配置文件),而 script/root 目录属于 达梦程序安装目录(存放脚本、工具、二进制文件),二者是不同目录,不可混淆。
  • 路径记忆偏差:达梦的 root 脚本目录(包含 root_installer.sh)固定在 安装目录/dmdbms/script/root,你之前的安装/初始化操作中,dmdbms 直接位于 dmdba 家目录,无额外层级。
  • 二、分步解决方案(先找到正确目录,再执行root脚本)

    步骤1:快速找到 script/root 正确目录(无需记忆,自动查找)

    使用 find 命令在系统中搜索 root 脚本目录(或直接搜索 root_installer.sh,这是需要执行的核心脚本),避免手动输入路径出错:

    # 方式1:搜索 script/root 目录(达梦专属脚本目录)
    find /home/dmdba -path "*dmdbms/script/root"

    # 方式2:直接搜索核心脚本 root_installer.sh(更精准,推荐)
    find /home/dmdba -name "root_installer.sh"

    执行后会输出类似如下正确路径(即为实际目录):

    /home/dmdba/dmdbms/script/root/root_installer.sh

    步骤2:进入正确目录(修正路径,移除多余 /dm)

    根据上述搜索结果,使用正确路径执行 cd 命令,核心是移除多余的 /dm 层级:

    # 正确目录:移除 /home/dmdba 后的多余 /dm,直接进入 dmdbms/script/root
    cd /home/dmdba/dmdbms/script/root

    执行后若不再报错,说明已成功进入正确目录,可直接查看 root_installer.sh 脚本:

    # 验证目录下是否存在 root 脚本
    ll

    正常情况下会显示 root_installer.sh(达梦安装后必备的root权限脚本)。

    步骤3:若仍报错(未找到目录),补充排查2个关键点
  • 排查 dmdbms 实际位置(确认达梦程序目录)
    先回到 dmdba 家目录,查看 dmdbms 是否存在:

    # 进入 dmdba 家目录
    cd /home/dmdba

    # 查看目录下是否有 dmdbms 文件夹
    ll | grep dmdbms

    • 若存在 dmdbms 目录,直接进入其 script/root 子目录即可;
    • 若不存在 dmdbms 目录,说明达梦程序安装在其他路径(如 /dm8),可扩大搜索范围:find / -name "root_installer.sh" 2>/dev/null

      (2>/dev/null 用于屏蔽无权限访问的目录报错,只显示有效结果)

  • 确认达梦是否完成完整安装(避免仅初始化未安装)
    你之前仅执行了 dminit(数据库初始化),若未执行 DMInstall.bin 完成完整安装,可能缺少 script/root 目录(root_installer.sh 是安装程序生成的)。

    • 若缺少该目录,需回到达梦安装文件目录,重新执行完整安装:# 进入安装文件所在目录(如 /mydm)
      cd /mydm

      # 以 dmdba 用户执行安装程序(完整安装后会生成 script/root 目录)
      ./DMInstall.bin

    • 安装完成后,终端会输出 root_installer.sh 的准确路径,直接复制该路径执行即可。
  • 步骤4:执行 root 脚本(完成最终配置)

    找到正确目录并进入后,执行达梦的 root 脚本(用于创建系统服务、配置环境变量等,必须以 root 用户执行):

    # 执行 root 安装脚本(确保路径正确)
    ./root_installer.sh

    执行成功后,会提示系统服务创建完成、环境变量配置成功等信息,此时达梦数据库可通过系统服务启动/停止,无需手动执行 dmserver。

    三、补充注意事项

  • 权限要求:仅 root 用户可执行 root_installer.sh,确保当前登录用户是 root(或使用 sudo 执行);
  • 脚本作用:该脚本会完成3个关键操作,不可跳过:
    • 创建达梦系统服务(dm.service),支持 systemctl start/stop dm 启动/停止数据库;
    • 配置系统环境变量(DM_HOME),方便在任意目录执行达梦工具(disql、dminit 等);
    • 修复数据库文件权限,避免后续启动报错;
  • 记录正确路径:执行完成后,记录 dmdbms 安装目录(如 /home/dmdba/dmdbms),后续运维操作(执行脚本、更新工具)均需基于该目录。
  • 四、总结

  • 报错核心:路径多了多余 /dm 层级,/home/dmdba/dm/dmdbms 应为 /home/dmdba/dmdbms;
  • 关键解决:用 find 命令自动查找正确目录,或直接修正路径移除多余 /dm;
  • 核心操作:找到 root_installer.sh 并执行,完成达梦数据库的最终配置。
  • 按照上述步骤操作后,即可顺利进入正确目录并执行 root 脚本,解决目录不存在的报错。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 达梦数据库安装服务故障四
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!