最近几年国产数据库在项目里出现的频率高了很多,达梦数据库(DM)这个名字我几乎每隔一段时间就会被问一次。问的人多了,我发现大家的问题特别集中,无非是:去哪下载、怎么装、装完怎么连、怎么导数据。这个系列第一篇,我就把“DM工具下载安装与介绍”这件事从头到尾捋一遍。
标题说“从入门到放弃”,其实就是调侃。达梦这玩意儿,第一次接触的人往往在安装环节就被劝退,但摸着良心说,它并没有传说中那么夸张。把工具链装明白、连上数据库、跑通第一段SQL,后面的事情基本就是熟能生巧。这篇内容适合第一次装达梦的开发、运维、测试,以及项目里做国产化适配的朋友,看完照着操作一遍,大概率能少走不少弯路。
1. 先聊点实在的:达梦数据库和DM工具到底是个啥
1.1 为什么这年头要接触达梦
达梦数据库是国产关系型数据库里的老牌选手,主打的是和Oracle、SQL Server的兼容性,常见于政企、金融、央国企的国产化替换项目。如果你在一家做信创适配的公司,或者你的客户有国产化要求,这个名字迟早会出现在你面前。当前主流版本是DM8,很多资料里直接叫“达梦八”。
可能有人会问:它和MySQL比怎么样?和Oracle比怎么样?我的看法是,不用纠结这个问题。达梦的SQL语法设计得比较聪明,同时支持Oracle、MySQL、SQL Server等多种方言模式,你可以在安装或者建库的时候选一个主要兼容模式,让项目组按最熟悉的习惯去写SQL。但它毕竟不是100%照搬某个数据库,真正落地的过程里,那些细微差异才是让人掉头发的地方。这也是为什么我建议第一篇先把工具链讲扎实,后面遇到奇怪行为的时候,至少能在自己的环境里快速复现。
1.2 DM工具全家桶:不止一个管理工具
很多人以为“DM工具”就是达梦数据库管理工具,跟SQL Server Management Studio差不多。其实安装完成后,你会得到一整套工具集,光“达梦数据库”开始菜单目录下就好几个入口:
- DM管理工具:最常用的图形化客户端,日常查询、建表、调试、导数据都在这里操作,界面风格和SSMS很像。
- DM服务查看器:查看数据库实例对应的服务状态,启动、停止、重启服务全靠它。
- DM控制台:偏向系统管理和参数配置,可以改初始化参数、查看系统信息,属于更底层的管理入口。
- DM数据迁移工具(DTS):把MySQL、Oracle、SQL Server的数据迁到达梦,或者反向导出,后面单独写一篇都不过分。
- DM性能监控工具:监控会话、锁、SQL执行情况,排查卡顿问题用的。
- DM备份恢复工具:物理备份和恢复,生产环境必用。
如果你只以为“DM工具”是一个客户端,等你需要迁移数据或者看性能的时候就懵了。安装组件的时候看到这些名字,别纠结装哪个,新手直接全装,免得后续要用时找不到入口。这一套东西,某种意义上就是Oracle世界里“sqlplus + OEM + Data Pump”打包成了一个图形化全家桶。
2. 下载之前必须搞清楚的几件事
2.1 版本、平台和授权怎么选
下载之前先把版本弄清楚。达梦常见版本有企业版、标准版、开发版、安全版,差异主要在性能、容灾、安全特性方面。个人学习和开发用开发版就够了,功能基本完整,官网可以直接申请下载。别信某些人说的“达梦没有免费版”,实际上官网注册个账号就能拿到试用/开发版安装包,只是入口藏得有点深。
平台方面,Windows、Linux都有,Linux还细分了麒麟、统信等国产操作系统的适配包,同时支持x86和ARM架构。个人电脑上学习就选Windows x64,服务器的生产环境按操作系统选对应版本即可。
授权问题多说两句:没有Key文件安装时直接跳过,装完就是试用版,学习和开发测试不受影响。生产环境一定要走正规渠道采购授权,拿正式Key激活。网上那些“注册机”“破解Key”就别碰了,企业项目里这种问题一旦被审计发现,责任不是开玩笑的。
2.2 官方下载入口与安装包形态
官网地址是 www.dameng.com,注册账号后,在“产品与服务-数据库管理系统-DM8”页面能找到下载入口。不同时期的页面布局可能会换,但只要找到DM8的产品页,里面一般都有“试用下载”或“下载中心”。
最容易劝退人的是安装包形态:Windows版给的不是一个setup.exe单文件,而是一个ISO镜像文件,体积一般在几百MB到1GB多。很多人下载完直接双击ISO,系统没反应,就开始怀疑人生。
Windows 10和Windows 11可以直接右键ISO文件,选择“装载”或“挂载”,系统会把它识别为一个虚拟光驱,打开后能看到里面的文件。老系统或者精简版系统,就老老实实用解压工具(7-Zip、WinRAR都行)把ISO解压到本地文件夹。解压后找到setup.exe,右键选择“以管理员身份运行”。Linux版一般是tar.gz或cd-rom压缩包,解压后运行DMInstall.bin,流程类似。
3. Windows下DM工具安装完整实操
3.1 安装向导一步步过
安装程序启动后,先选语言,一般是中文。接下来有个“检查安装环境”的过程,主要看内存、磁盘空间够不够,一般机器都能过。
几个关键步骤挨个讲:
Key文件:正式授权会给你一个Key文件路径,个人学习没有就直接跳过,选“跳过”或“不使用”即可。这里不用慌,跳过不影响工具安装。
安装组件:默认是全选,包含客户端、服务端、迁移工具、性能监控那些。新手建议全选,万一以后要迁移数据或者看性能报表,不用重新补装。如果只是连远程库做日常查询,其实只装客户端组件也行。
安装目录:这里强烈建议不要装到带中文和空格的路径下,比如“D:\达梦数据库\”这种,后续配驱动、写脚本都可能出幺蛾子。选一个纯英文路径,比如D:\dmdbms,省心很多。
数据库类型:安装时会让你选“典型安装”“服务器安装”“客户端安装”之类的,新手选“典型安装”。如果你已经有远程库,只需要工具客户端,选“客户端安装”。
然后是最关键的一个弹窗:要不要“创建数据库实例”。很多人就是卡在这。创建实例会进入数据库配置向导,设置端口、字符集、大小写敏感这些参数。如果对这些参数不了解,可以先选“不创建实例”,把工具装完,之后随时可以通过“DM数据库配置助手”补建实例。第一次装建议只要不是赶时间,就按向导把实例建上,一步到位,后面很多连接测试方便。
3.2 初始化实例的关键参数
如果创建实例,会走到参数配置页,这一页每个选项后面都可能是个坑。
数据库名和实例名:默认是DMSERVER。可以改,但不要随便乱改,因为后面服务名、连接串都要和它对应。你改了实例名,Windows服务名也会跟着变,自己记得住就行。
端口号:默认5236。这是达梦的默认端口,除非有冲突,否则保持默认。以后所有客户端工具连接时,填的都是这个端口。
字符集:有GBK和UTF-8等选项。现在的业务,强烈建议选UTF-8。很多项目迁移后中文乱码,一查基本都是建库时图省事选了GBK,后面改起来特别痛苦。
大小写敏感:默认是“敏感”。这个确实是个大坑,MySQL迁过来的人会特别不适应,因为MySQL默认大小写不敏感。达梦如果选“敏感”,意味着未加双引号的标识符会被转换成大写存储,所以student和STUDENT在某些场景下会出现意想不到的差异。如果你们团队的SQL写得很随意,建议这步选“不敏感”;如果业务贴近Oracle习惯,保持“敏感”反而更对味。
兼容模式:DM8支持Oracle兼容、MySQL兼容、SQL Server兼容等选项。从哪个库迁移过来,就选哪个兼容模式,能少很多SQL语法层面的报错。如果你是新项目,选和团队技术栈最接近的就行。
口令管理:设置SYSDBA、SYSAUDITOR这些内置账号的密码。SYSDBA是超级管理员,相当于Oracle的SYS,密码忘了可就麻烦大了。设完最好记到本子上。
设置完这些,安装程序会开始往系统里写文件、注册服务。全套装下来几分钟到十几分钟,看机器性能。装完后桌面上会出现“达梦数据库”程序组,到这一步,安装阶段基本算过了。
4. 装好之后:连库、看服务、跑第一段SQL
4.1 服务查看器与实例管理
安装完成后,打开“DM服务查看器”,会看到类似DmServiceDMSERVER的服务项,这就是你刚才创建的数据库实例对应的Windows服务。工具栏里有启动、停止、重启按钮。记住一条金科玉律:外面所有的连接工具连不上库,九成情况是服务没启动。
Windows服务列表里其实也能看到这个服务,但建议用DM服务查看器,因为它会显示更详细的达梦状态信息。如果是Linux环境,通常是执行service DmServiceDMSERVER start或者stop。命令敲之前,先确认服务名是什么,别拿默认名去套,特别是在自定义过实例名的情况下。
4.2 用DM管理工具跑通第一段SQL
接下来打开“DM管理工具”,首次使用会弹登录框:
- 主机:
127.0.0.1(本机就是本机地址) - 端口:
5236 - 用户名:
SYSDBA - 密码:安装时你自己设置的那个
点“登录”成功之后,左侧对象浏览器会列出模式、表、视图、存储过程等对象,界面和SQL Server Management Studio确实很像。在查询窗口敲下面这几行:
CREATE TABLE test_user ( id INT, name VARCHAR(50) ); INSERT INTO test_user VALUES (1, '张三'); SELECT * FROM test_user;能跑通这几条,恭喜,达梦数据库基本算真正跑起来了。什么安装成功都不如这几行SQL执行成功来得踏实。
4.3 SQL语法和模式(schema)问题
为什么网上搜达梦,全是“模式错误”?因为这个库的模式概念和MySQL的理解不一样,很多人就在这上面栽跟头。
在达梦里,模式可以粗略理解为一个命名空间,表、视图都归属在某个模式下。默认情况下,当前登录的用户对应一个同名模式,比如你用SYSDBA登录,默认就在SYSDBA模式下操作。写表的时候,如果不加模式前缀,就默认在当前用户自己的模式下找表。
模式相关的报错,最常见就两种:
- 你写了
模式名.表名,但该模式不存在或者当前用户没权限。 - 大小写敏感模式下,对象名的存储和查询条件不一致。
关于大小写,我再捋一遍,免得绕晕:在“大小写敏感”模式下,不带引号的标识符会被统一转换为大写存到数据字典里。所以create table test_user实际存的是大写TEST_USER。查询时写SELECT * FROM test_user,不带引号,也会转成大写去找,所以能对上。但如果你手欠给标识符加了双引号,比如"test_user",那就是精确匹配小写test_user,此时库里存的是大写,当然报“表或视图不存在”。
另一个场景是Navicat连接达梦后看不到表,或者操作时报“模式错误”。这种情况通常是连接工具里没有指定“模式”,或者默认模式不对。Navicat连接达梦成功后,左侧导航树展开的内容不是数据库列表,而是模式列表,要找到SYSDBA模式才能看到表。这和MySQL的展示方式差异很大,第一次用的人很容易觉得“东西丢了”。
给新手三条避坑提醒:
- 默认当前用户模式就是会话默认模式,直接写表名即可。
- 跨模式访问,老老实实写全:
模式名.表名。 - 别轻易给表名、字段名加双引号,除非你明确知道自己在做什么。
5. 把工具接到你熟悉的开发环境里
5.1 下载JDBC驱动给IDEA用
开发Java项目的朋友,装完达梦的第一反应肯定是问“IDEA怎么连接达梦数据库”。这需要JDBC驱动。
其实达梦的JDBC驱动不需要单独去网上扒,安装目录里就带。一般在:
安装目录\drivers\jdbc\DmJdbcDriver18.jar不同版本文件名可能略有差异,有的是DmJdbcDriver17.jar,有的是dm-jdbc-driver-8.1.x.jar,看drivers/jdbc目录下实际情况就行。DM8一般配JDK8及以上没毛病。
IDEA连接步骤:
- 打开右侧Database面板。
- 左上角
+号,选择Data Source。 - 如果列表里看不到“DM”选项,就选“Generic”通用JDBC。
- 填入连接信息:
- URL:
jdbc:dm://127.0.0.1:5236 - 驱动类:
dm.jdbc.driver.DmDriver - 用户名和密码
- URL:
- 在驱动库页签里,手动添加刚才那个jar包的路径。
- 点“Test Connection”测试连接。
这里最常见的报错是Cannot load driver class,不是数据库的问题,是IDEA还没识别到驱动jar。把jar路径加进去,再测一次就好。
如果你的项目是Maven工程,也可以走私有仓库依赖。坐标一般是com.dameng:DmJdbcDriver18,具体版本按你们私服里的来。企业内部项目用私服拉,比手工塞jar到IDEA要规范得多。
5.2 Navicat连接达梦数据库
问得第二多的就是“Navicat怎么连接达梦数据库”。Navicat Premium 16、17这些较新版本,新建连接的类型里已经直接有“达梦数据库”选项了,选它,填主机、端口、用户名、密码就能连。
如果是老版本,没有达梦连接类型,可以试试通用JDBC方式或者ODBC方式。ODBC连达梦的配置相对繁琐,不如直接换新版本Navicat,或者干脆用达梦自带的DM管理工具,反正日常查询和管理都够用。
连接成功之后又有人懵:为什么没有“数据库”列表?因为达梦的导航树展示的是模式,不是数据库。这个前面提过,记住这一点,找表就快了。
Navicat还有一个非常好用的功能是跨库同步,可以把MySQL的表结构和数据同步到达梦。不过结构复杂、数据量大的场景,我还是建议用达梦官方的DM数据迁移工具,稳定性和精细度更高。
5.3 顺手说一下迁移工具
既然装了工具全家桶,“达梦数据迁移工具”(DTS)大概率有一天会用上。它能把MySQL、Oracle、SQL Server的数据迁到达梦,流程大致是:
- 打开DM数据迁移工具,新建工程。
- 新建迁移任务。
- 配置源端:比如MySQL,填主机、端口、库名、账号密码。
- 配置目标端:达梦库,填地址、端口、模式。
- 选择要迁移的对象:表结构、数据,可以按表勾选。
- 执行迁移。
有一个细节在热词里也出现了:“迁移表设置先删后插入”。这个其实是在迁移任务的选项里,设置数据写入方式。常见的有“批量INSERT”“删除后插入”“TRUNCATE后插入”等。如果目标表已经有存量数据,通常选TRUNCATE后插入,避免主键冲突和重复数据;如果只是想追加增量数据,就别选删除,否则会清空原有数据。这个选项藏在迁移选项配置里,不同版本的叫法略有不同,但逻辑都一样:选错了,数据可真会被清掉。
6. 常见问题排查与避坑实录
6.1 下载安装阶段的问题
这个阶段的问题最气人,因为通常不是技术问题,而是“没找到入口”。整理成表方便对照:
| 现场现象 | 可能原因 | 解决办法 |
|---|---|---|
| 双击安装包没反应 | 下载的是ISO镜像,没挂载也没解压 | 右键装载,或用解压工具解压后再运行setup.exe |
| 安装程序报“请以管理员身份运行” | 权限不足 | 右键setup.exe,选择“以管理员身份运行” |
| 安装到一半报磁盘空间不足 | 默认装到C盘,空间不够 | 安装目录换到非系统盘,留足10G以上 |
| 服务怎么都启动不了 | 端口被占用、数据目录权限异常 | 看安装目录log下的日志,用DM服务查看器看详细报错 |
| 找不到Key文件 | 个人开发本来就不需要正式Key | 直接跳过,装完是试用版;正式授权找厂商拿Key |
还有一个容易被忽视的点:安装过程如果提示需要重启,最好先重启再继续。因为达梦会注册系统服务和驱动,不重启有时候服务状态会不正常,排查半天发现是没重启,就很尴尬。
6.2 连接与使用阶段的问题
连接阶段的问题,90%集中在服务、端口和模式这三个点上。
| 现场现象 | 可能原因 | 解决办法 |
|---|---|---|
| 连接失败,提示网络错误或端口错误 | 服务没启动,或防火墙拦截了5236 | 去DM服务查看器启动服务;Windows防火墙放行5236;用telnet检查端口通不通 |
| 登录失败,用户被锁定 | 密码连续输错多次 | 用SYSDBA解锁该用户,或者检查密码策略 |
| 登录成功但看不到表 | 没有切换模式 | 在左侧对象树找对应模式;SQL里用模式名.表名 |
| 报“表或视图不存在” | 大小写敏感模式下对象名不匹配 | 不要加双引号,保持统一大小写习惯 |
| 迁移过来中文乱码 | 源端和目标端字符集不一致 | 建库时选UTF-8;迁移选项里指定字符集;源端尽量UTF-8 |
| Navicat报“模式错误” | 客户端版本太老或默认模式未指定 | 升级Navicat版本;连接属性里指定模式;或改用DM管理工具 |
顺手说一个常见的认知误区:“达梦数据库免费镜像吗?”达梦官方没有提供所谓的免费公共镜像,官网下载的是安装包/ISO,不是Docker镜像。网上有人自己打包过达梦的Docker镜像,非官方渠道,玩一玩可以,生产环境还是谨慎点。想用容器部署,建议基于官方安装包自己构建镜像,同时遵守授权条款。
6.3 几个值得长期记住的经验
安装目录下的drivers文件夹是个宝库。不只是JDBC驱动,里面通常还有ODBC接口、Hibernate方言相关包等资源。以后配任何开发框架连接达梦,第一反应就是先去这里翻,比到处问人靠谱。
达梦的日志做得其实很良心,尤其是log目录下的DM_DMSERVER_xxx.log,启动失败、初始化失败基本都能从日志里定位到原因。遇到诡异的启动问题,打开日志看一眼,往往比瞎猜强得多。
热词里还有“达梦数据库开启SSL”“达梦数据库获取CDC”“Nacos适配达梦数据库”这些内容,都挺有意思,但都属于后续系列里的进阶话题。这篇是第一课,先把工具装明白、SQL跑通,那些高阶玩法后面再慢慢聊。
说实话,文章写到这里,你只要认真跟着操作一遍,达梦这扇门就算迈进来了。我第一次摸达梦的时候被ISO镜像卡了半天,弄清楚之后才发现,所谓“国产数据库学习曲线陡”,很多时候不是数据库本身难,而是被安装和工具链劝退的。真正有意思的坑,其实在后面迁移、兼容性、中间件适配这些环节。如果你在安装过程遇到这篇没写到的问题,第一反应去翻达梦安装目录下的log文件,第二反应再考虑是不是权限问题,这两个方向能解决掉大部分幺蛾子。