你执行 cd /home/dmdba/dm/dmdbms/script/root 时提示“无此文件或目录”,核心原因是 你输入的目录路径与达梦数据库实际安装目录不匹配,路径中多了多余的 /dm 层级,且未准确对应初始化/安装时的实际目录,具体分析和解决方案如下:
一、报错核心原因解析
二、分步解决方案(先找到正确目录,再执行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。
三、补充注意事项
- 创建达梦系统服务(dm.service),支持 systemctl start/stop dm 启动/停止数据库;
- 配置系统环境变量(DM_HOME),方便在任意目录执行达梦工具(disql、dminit 等);
- 修复数据库文件权限,避免后续启动报错;
四、总结
按照上述步骤操作后,即可顺利进入正确目录并执行 root 脚本,解决目录不存在的报错。
网硕互联帮助中心





评论前必须登录!
注册