在信创运维、DBA日常工作中,达梦数据库的部署操作大家都很熟悉,但很多朋友在卸载环节频频踩坑:要么图形化界面弹不出来,报GTK初始化失败的错误;要么卸载不干净,服务、配置文件有残留,下次重装出问题。
本篇文章就给大家分享Linux环境下达梦数据库的两种官方标准卸载方式,新手也能照着做就可卸载。
特别提醒:
- • 卸载切记备份核心业务数据,避免误操作导致数据丢失;
一、图形化卸载方式
图形化卸载为可视化交互操作,适合有桌面环境的测试服务器、本地虚拟机环境。
1. 基础执行命令
进入到 DM 安装目录下,执行卸载程序 uninstall.sh进行卸载操作 ,命令如下:
# 进入DM安装目录cd /home/dmdba/dmdbms# 执行卸载脚本./uninstall.sh
执行脚本后,会出现如下报错,无法启动卸载界面:
[dmdba@node03 dmdbms]$ ./uninstall.shException in thread "main" org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed] at org.eclipse.swt.SWT.error(SWT.java:4109) at org.eclipse.swt.widgets.Display.createDisplay(Display.java:902) at org.eclipse.swt.widgets.Display.create(Display.java:890) at org.eclipse.swt.graphics.Device.<init>(Device.java:154) at org.eclipse.swt.widgets.Display.<init>(Display.java:499) at org.eclipse.swt.widgets.Display.<init>(Display.java:490) at org.eclipse.swt.widgets.Display.getDefault(Display.java:1693) at com.dameng.common.gui.util.SWTUtility.<clinit>(SWTUtility.java:75) at com.dameng.uninstall.ui.MainApplication.run(MainApplication.java:55) at com.dameng.uninstall.ui.MainApplication.main(MainApplication.java:183)
报错根因: 达梦的图形化卸载界面依赖GTK图形工具包,而绝大多数服务器为了精简性能,未配置图形化桌面环境,无法完成GTK初始化。解决方案: 使用自带X Server功能的MobaXterm工具登录服务器,开启X11图形转发,再重新执行卸载脚本。
重新执行命令:
# 重新进入DM安装目录cd /home/dmdba/dmdbms# 执行卸载脚本./uninstall.sh
2. 图形化卸载完整步骤
步骤1:运行卸载程序
执行脚本后,弹出卸载确认窗口,点击:确定,启动卸载向导。
步骤2:确认卸载信息
进入卸载准备页面,核对安装路径等信息,确认无误后点击:卸载。
步骤3:执行卸载流程
等待程序自动删除安装文件、清理安装目录,直至卸载进度完成。
步骤4:执行root清理脚本
卸载向导会提示需要用root用户执行系统服务清理脚本,切换root用户执行如下命令:/home/dmdba/dmdbms/root_uninstaller.sh
步骤5:完成卸载
回到卸载向导,点击:完成,关闭窗口,图形化卸载全部流程结束。
二、命令行卸载方式(生产环境首选)
在实际生产环境中,绝大多数服务器都没有配置图形化桌面环境,此时推荐使用命令行模式卸载,无需依赖任何图形化组件,仅通过终端交互即可完成卸载,稳定无坑。
1. 前置操作:停止数据库服务
先停止正在运行的达梦数据库服务,避免文件占用导致卸载不完整:
systemctl stop DmServiceDMSERVER.service
2. 执行命令行卸载脚本
进入达梦安装目录,执行带-i参数的卸载脚本,进入命令行交互模式:
# 进入DM安装目录cd /home/dmdba/dmdbms# 执行命令行模式卸载脚本./uninstall.sh -i

3. 交互卸载流程
- • 等待程序自动删除安装文件、清理安装目录,直至提示卸载完成。
4. root用户清理系统服务
切换root用户,执行官方清理脚本,清除系统服务、开机自启项和全局配置文件:
[root@node03 ~]# sh /home/dmdba/dmdbms/root_uninstaller.shRemoved symlink /etc/systemd/system/multi-user.target.wants/DmAPService.service.Removed symlink /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service.删除/etc/dm_svc.conf文件[root@node03 ~]#
三、卸载完成验证
为了确保卸载干净无残留,建议执行以下4项检查:
- • 检查安装目录:
ls /home/dmdba/dmdbms,确认目录已清空或被删除; - • 检查系统服务:
systemctl status DmServiceDMSERVER.service DmAPService.service,提示服务不存在即为清理完成; - • 检查全局配置:
ls /etc/dm_svc.conf,确认文件已被删除; - • 检查残留进程:
ps -ef | grep dm_,无达梦相关进程运行。