☰
达梦DM8安装部署实战:Windows/Linux双环境、Navicat连接与授权替换指南
2026/10/6 13:29:42 网站建设 项目流程

前阵子项目里要切到达梦数据库,我准备先在本地环境把 DM8 装起来跑通流程。网上搜"安装达梦数据库",出来的信息特别散,要么是官方文档点到为止,要么是老版本教程对不上现在的安装包,就连"达梦dm8数据库安装包x86_win_64.zip"这个最基础的安装包,不同平台的安装差异也没人说清楚。我把 Windows 和 Linux 两条安装路径都完整走了一遍,再加上后续 Navicat 连接、替换 key 授权这些刚需操作,前前后后踩了十来个坑。这篇把我验证过可行的完整步骤和踩坑记录整理出来,给需要部署 DM8 的同学当参考。

1. 先搞清楚达梦DM8是什么,再动手装

1.1 达梦数据库到底是个什么存在

达梦数据库是国内老牌数据库厂商,DM8 是当前的主力版本。为什么要特意说这一句?因为很多朋友第一次接触它,是从 MySQL 或者 Oracle 的环境过来的,拿着老经验直接上手就会觉得别扭。DM8 在语法和运维思路上更像 Oracle:有实例、有表空间、有模式(schema),不是 MySQL 那种"一个库一坨表"的简单概念。它支持的 SQL 大体兼容 Oracle,存储过程、触发器、视图这些都有,还支持行列混合存储、分区表、闪回这些进阶特性,单机、主备、共享存储集群、读写分离集群也都齐活。

这里插一句:因为 DM 是商业数据库,安装包本身不大,但授权是按 License 管理的。安装包默认带一个试用授权,正式投入使用前需要替换成正式 key,这个步骤我在后面专门讲。

1.2 安装前先决定三件事

第一,装哪个架构。x86 平台的 Windows 安装包就是大家常搜的那个"达梦dm8数据库安装包x86_win_64.zip",解压后是完整的图形安装向导。Linux 平台对应的是 DMInstall.bin 这个自解压安装程序,无论是 x86_64 还是飞腾、麒麟这些芯片架构,都有对应的独立版本,别下错。

第二,装什么版本。DM8 分企业版、标准版、安全版,一般试用下载默认是标准版或企业版的试用 key,90 天有效期。如果你已经有正式的 dm.key 授权文件,安装时选上就行;没有也不影响安装,先用试用授权跑起来。

第三,装在哪里。生产环境我建议独立目录,别跟应用混在一起。Windows 下别放 C 盘系统盘,路径别带中文和空格;Linux 下把数据目录、归档目录、备份目录规划好,最好分开存放,后面备份策略也好做。

1.3 安装包和授权文件的基本情况

再补充一点安装包细节。Windows 压缩包解压后目录里应该有 setup.exe、文档和驱动目录。Linux 那边是一个几百 MB 的 DMInstall.bin,需要用 chmod 加上执行权限。DM8 安装后的核心目录一般叫 dmdbms,bin 目录里有 dminit(初始化实例)、disql(命令行工具)、dmserver(数据库服务进程)这些二进制文件。授权文件统一叫 dm.key,默认放在 bin 目录下。

把这个结构记住之后,后面不管装什么都好理解:安装程序只负责把文件拷贝到位、注册服务,真正"建库"的动作其实是 dminit 干的。明白这一点,Windows 和 Linux 的安装流程在你眼里就是同一套逻辑,只是执行方式不同。

2. Windows环境安装:从zip包到能连上

2.1 解压、右键管理员运行setup

拿到"达梦dm8数据库安装包x86_win_64.zip"之后,先整体解压到一个磁盘空间充足的目录,例如 D:\dm_install。注意不要直接双击压缩包里的 setup.exe 运行,一定要先完整解压再运行,因为安装过程中安装程序要读取目录下的多个文件,解压不完整会在某个环节莫名报错。

然后右键 setup.exe,选择"以管理员身份运行"。这一步尤其重要,不这样干后面写服务、写注册表、改系统环境变量都会失败,而且报错信息还不直观,折腾半天发现是权限问题,非常浪费时间。

2.2 安装向导里的选项怎么填

进入向导后流程大致是这样的:

  1. 语言选择:中文即可。
  2. 授权协议:勾选接受。
  3. 密钥信息:这里会让你选择 dm.key 授权文件。没有正式授权就跳过,后面走试用授权。
  4. 组件选择:建议选"典型安装",把服务器端、客户端工具、驱动都装上,省得后面缺东缺西再补装。只有磁盘空间特别紧张才考虑自定义。
  5. 安装目录:默认是 C:\dmdbms,建议改成 D:\dmdbms,路径里不要出现中文、&符号和空格。
  6. 安装前概要:确认一下目录和组件,然后开始装。

安装过程会拷贝文件、注册服务、配置 ODBC 驱动,一般三五分钟。装完会弹出入口让你选择是否立即创建数据库实例,也可以稍后通过开始菜单里的"达梦数据库配置助手"来做。这里我建议直接选择初始化一个实例,一气呵成。

2.3 初始化实例:记住这几个关键参数

初始化实例(也就是"建库")的界面参数看着多,真正要动脑子的是下面这几个:

参数推荐值说明
数据库目录D:\dmdbms\data数据文件存放路径
实例名DMDB默认 DAMENG,改成自己的更好认
端口号5236DM 的默认服务端口,类似 Oracle 的 1521
页大小16KB影响单行最大长度和表空间容量,建库后不能改
字符集UTF-8避免后期页面乱码,选 UTF-8 最省心
大小写敏感按迁移来源定敏感则未加引号的标识符统一转大写,和 Oracle 一致

页大小这个参数我多说两句:普通业务 16KB 够用,如果大字段(TEXT、CLOB)多的场景建议选 32KB。这个参数初始化之后是改不了的,想改只能删库重建,所以在向导这一步花两分钟想清楚业务场景再点下一步。

大小写敏感的问题也容易纠结。达梦默认大小写敏感(CASE_SENSITIVE=Y),也就是未加双引号的标识符会统一转成大写,行为跟 Oracle 一模一样。如果你是从 MySQL 迁移过来,日常写 SQL 的习惯是全小写,那建议选"不敏感";从 Oracle 迁移则保持默认,SQL 不用改。

初始化完成后,Windows 服务管理器里会多出一个服务,名字类似 DmServiceDMDB(实例名不同,服务名不同),这就代表装好了。

2.4 用 disql 验证安装

装完别急着关窗口,先验证能不能连。打开命令行,进入安装目录的 bin 目录,执行:

disql SYSDBA/SYSDBA@localhost:5236

SYSDBA 是达梦的内置超级管理员账号,初始密码是 SYSDBA,建议安装后第一时间改掉。能进到这个命令提示符,说明安装和建库都成功了。顺手执行一句:

select name, status$ from v$instance;

能看到实例名和状态,说明一切正常。这一步千万别省,我有一次装完没验证就交付了,后来发现服务根本没起来,问题堆到后面排查成本更高。

3. Linux命令行安装:服务器的正规打法

3.1 环境准备:用户和资源限制缺一不可

生产环境基本都是 Linux,而且很多是内网服务器没有图形界面,命令行安装是绕不开的。先准备环境,创建 dmdba 用户(官方不建议用 root 直接装数据库):

groupadd dinstall useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba passwd dmdba

然后调整资源限制。编辑 /etc/security/limits.conf,追加:

dmdba soft nofile 65536 dmdba hard nofile 65536 dmdba soft nproc 65536 dmdba hard nproc 65536

这个 ulimit 限制是达梦安装和运行时的硬性要求。文件句柄不够的话,后面启动服务大概率会报"Too many open files"之类的错,所以环境准备阶段就要配好,省得后面抓瞎。

另外确认内存和 swap。DM8 官方要求物理内存至少 1GB,swap 建议 2GB 以上,内存不足安装和初始化阶段会直接失败。云服务器如果 swap 没开,先确认一下再用 free -h 看。

3.2 命令行安装的完整流程

把 DMInstall.bin 上传到服务器(比如 /opt/install/),先赋执行权限:

chmod 755 DMInstall.bin

然后切换成普通用户执行命令行安装:

su - dmdba /opt/install/DMInstall.bin -i

进入交互式安装后,按提示选择语言、输入安装目录(比如 /opt/dmdbms)、选择安装组件,一路确认即可。命令行模式和图形模式装出来的结果完全一样,只是交互方式不同。装完会提示以 root 执行某个脚本去配置环境变量,这个别忽略,按提示执行完才能正常使用工具。

3.3 dminit建库和服务注册

安装完成后,需要手动初始化实例。切到 dmdba 用户,执行(参数按实际情况调整):

cd /opt/dmdbms/bin ./dminit PATH=/opt/dm/data INSTANCE_NAME=DMDB PORT_NUM=5236 PAGE_SIZE=16 CHARSET=1 CASE_SENSITIVE=N

解释一下上面参数:PATH 是数据文件目录;INSTANCE_NAME 是实例名;PAGE_SIZE=16 表示页大小 16KB;CHARSET=1 表示 UTF-8 字符集;CASE_SENSITIVE=N 表示大小写不敏感。建库完成后会打印出数据库名和数据目录路径。

注意 PATH 指定的目录要提前创建好并授权给 dmdba,否则 dminit 会报目录不存在。接着用 root 注册系统服务:

/opt/dmdbms/script/root/dm_service_installer.sh -t dmserver -p DMDB -dm_ini /opt/dm/data/DMDB/dm.ini

这样就能用 systemctl 管理数据库服务了:

systemctl start DmServiceDMDB systemctl status DmServiceDMDB

3.4 Linux安装后的必做检查

服务起来后,用 disql 验证,记得先切到 dmdba 用户:

su - dmdba /opt/dmdbms/bin/disql SYSDBA/SYSDBA@localhost:5236 select * from v$version;

还有两个容易忽略的点。一是修改 dmdba 用户的环境变量,把 DM_HOME 指向安装目录、把 bin 目录加进 PATH,方便后续调用 dminit、disql、dmrman 这些工具。二是防火墙记得放行 5236 端口,否则远程连不上,测试环境也容易栽在这上面。

firewall-cmd --permanent --add-port=5236/tcp firewall-cmd --reload

4. 装完之后:Navicat连接和使用入门

4.1 用Navicat连接达梦的正确姿势

很多朋友用完命令行还想用图形工具,最常见的选择就是 Navicat。注意,不是所有 Navicat 版本都支持达梦,Navicat Premium 16 及以上版本原生支持达梦数据库,新建连接的时候能看到达梦的类型。更老的版本就得换 DBeaver,或者直接用达梦自带的"达梦管理工具"。

连接参数其实和连 MySQL 差不多:

参数填写内容
主机localhost 或服务器 IP
端口5236
用户名SYSDBA
密码安装时设置的密码

第一次连接如果报错,按优先级排查:服务有没有启动(systemctl status DmServiceDMDB 或在 Windows 服务管理器里看状态);端口通不通(telnet IP 5236);用户名密码对不对;防火墙有没有放行。

4.2 连接上之后先别急着建表

Navicat 连上达梦后,左侧显示的其实是"用户/模式"体系:SYSDBA、SYSAUDITOR 这些用户各自对应一个模式。和 MySQL 不一样,达梦里"数据库"这个概念比较弱,真正组织对象的是模式(schema)。所以建表之前,建议你单独建一个业务用户,不要什么东西都塞在 SYSDBA 下面,后面权限管控和迁移都要省心得多。

创建用户和表空间的 SQL,在 Navicat 的查询工具里执行:

CREATE TABLESPACE TS_APP DATAFILE '/opt/dm/data/TS_APP.dbf' SIZE 512; CREATE USER APP_USER IDENTIFIED BY "App@123" DEFAULT TABLESPACE TS_APP; GRANT DBA TO APP_USER;

然后切到 APP_USER 连接,就可以正常建表了。表名和列名不加双引号时统一大写,写 SQL 时不用纠结大小写,达梦内部会处理。

4.3 几条达梦SQL快速上手

建个测试表验证一下:

CREATE TABLE APP_USER.T_ORDER ( ID INT PRIMARY KEY, ORDER_NO VARCHAR(32), AMOUNT NUMBER(10,2), CREATE_TIME TIMESTAMP );

达梦对 Oracle 的兼容做得不错,NUMBER、VARCHAR2、DUAL、SYSDATE、ROWNUM 这些都能直接用,存储过程里包、游标、异常处理也基本是 Oracle 风格。如果你是从 Oracle 过来的团队,迁移成本比从 MySQL 低不少。MySQL 那边过来的同事则需要适应一下模式(schema)的概念,这是最大的思维转换点。

5. 替换key授权文件:为什么要换、怎么换

5.1 不换key会出什么问题

再强调一遍:达梦安装包自带的是试用授权,默认 90 天有效。90 天一过,数据库服务启动时就会报"license expired"或者"试用期已过",正常业务连接会被拒掉。所以拿到正式授权文件 dm.key 之后,第一件事就是替换。

很多同学不知道,这个 key 跟安装包一样是跟平台强相关的:Windows 的 key 不能用 Linux,x86 的 key 不能用到其他芯片架构上,企业版 key 不能配到安全版上。替换前先确认版本、架构和授权类型都匹配,不要拿到一个 key 就往服务器上扔。

5.2 替换key的完整操作流程

流程本身很简单,关键是别漏步骤:

  1. 停服务。Windows 在服务管理器里停 DmServiceXX,Linux 执行 systemctl stop DmServiceDMDB。
  2. 备份原授权。进安装目录的 bin 目录,把原有文件改名留底:
    mv dm.key dm.key.bak
  3. 上传新的 dm.key 到 bin 目录。Windows 直接复制覆盖,Linux 记得改属主和权限:
    chown dmdba:dinstall dm.key chmod 644 dm.key
  4. 启动服务:systemctl start DmServiceDMDB。
  5. 验证授权是否生效。

5.3 怎么确认key没白换

用 disql 查授权视图:

SELECT * FROM v$license;

重点关注几个字段:LICENSE_MODE(正式版还是试用版)、VALID_FLAG(有效标志)、EXPIRED_DATE(到期日期)。如果 VALID_FLAG 显示有效、到期时间变成了正式授权的日期,说明替换成功。

常见翻车点有两个。一是换了 key 忘了重启服务,查出来还是旧授权,这个最滑稽也最常见;二是 key 文件权限不对,服务直接起不来,这时候去安装目录下的 log 文件夹翻安装日志,能看到明确的报错原因。我遇到过用 root 上传的 key,结果 dmdba 用户读不了,chown 一下就好了。

6. 安装路上的坑,我都帮你踩过了

6.1 Windows安装常见翻车现场

第一个高频问题:setup.exe 点了没反应或者闪退。基本原因是权限和杀毒软件,用管理员身份运行、临时关闭安全软件之后基本能解决。第二个是安装路径带中文,装到一半报错找不到文件,达梦对路径的支持确实没那么宽容,老老实实用英文路径最稳。

第三个我印象很深:初始化实例的时候,页大小和字符集没想清楚就点了下一步。页大小、大小写敏感在建库之后都改不了,只能删库重来。所以向导那一步,宁可多花两分钟想清楚,也别急着点完成。

还有个 Windows 特有的问题:安装完成后发现命令行里 disql 找不着,这是因为安装程序没把 bin 目录加进 PATH,手动把 D:\dmdbms\bin 加进系统环境变量即可,或者每次进 bin 目录执行。

6.2 Linux安装的典型报错

Linux 下最典型的报错是执行 DMInstall.bin 时提示缺共享库,比如 libncurses 相关的报错,这在精简版系统上特别常见,装一下兼容库就好:

yum install -y ncurses-compat-libs libaio

还有内存不足直接安装失败的情况。我遇到过一台 2G 内存的小机器,执行 dminit 时报内存不足,后来加了 4G swap 才建库成功。生产环境的内存和 swap 规划要提前做好,别到了建库环节才临时想办法。

端口被占用也是高频问题。如果 5236 被别的服务占了,dminit 初始化时指定 5237 即可,Navicat 连接时端口对应改一下就行,别死磕默认端口。

6.3 装完之后的几个好习惯

最后分享几个我后期被坑出来的习惯。

一是安装完第一时间备份 dm.ini 和启动参数,以后出了问题能对比着排查。二是别用 root 干所有事,数据库服务和文件权限归属要清楚,跨用户操作经常出权限问题。三是定期看 v$license 的到期时间,手机上设个日历提醒,别等到业务连不上了才发现授权过期,临时申请流程慢的话整个项目都得等着。

我个人在反复装了几遍 DM8 之后的体会是:达梦的安装本身并不比 Oracle 复杂,复杂的是安装前那一堆规划——平台架构、授权类型、页大小、大小写敏感、字符集,这几样东西一旦装完想再改,代价非常大。希望这篇能把你在安装阶段的试错成本压到最低,安装通过之后,Navicat 连接和替换授权这些后续操作基本就是半小时内的事了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询