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. 达梦数据库连接问题深度排查与解决方案
根据您提供的信息,系统存在多个关键问题需要解决。以下是详细分析和解决方案:
核心问题诊断
数据库服务未运行:
DmServiceDMSERVER
服务不存在DmAPService
是辅助服务,不是主数据库服务- 5236端口未监听证实数据库未正常运行
系统环境异常:
- 非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
。这通常是由于以下原因之一:
- 环境变量未正确设置:系统不知道在哪里查找达梦数据库的库文件
- 库文件缺失:
libdmnsort.so
文件可能未被正确安装或已损坏 - 权限问题:当前用户可能没有访问库文件的权限
解决方案
方法1:设置LD_LIBRARY_PATH环境变量
最常见的原因是库路径未正确设置。达梦数据库的库文件通常位于安装目录的bin
或lib
子目录下。
# 临时设置(仅当前会话有效)
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