1. 停止数据库服务
以 kingbase 用户登录
# 进入 Server/bin 目录
cd /opt/kingbase/ES/V8/Server/bin/
# 停止数据库(假设数据目录是 /opt/Kingbase/V8/data)
./sys_ctl stop -D /opt/kingbase/ES/V8/data
# 确认数据库已停止
ps -ef | grep kingbase
# 应无 sys_server 或 kingbase 进程
2. 运行卸载程序
# 进入kingbase 安装目录
cd /opt/kingbase/ES/V8/
# 列出卸载程序目录或者脚本
ls -l Uninstall
# 进入kingbase 卸载目录
cd /opt/kingbase/ES/V8/Uninstall
# 使用-console模式运行(控制台模式)
sh Uninstaller -i console
2.1 准备卸载

输入quit再按退出卸载过程;直接按继续进行下一步。若无特殊说明,以下各步骤皆与此相同。
2.2 正在卸载
此步骤用于显示卸载进度。

2.3 完成卸载
对于初始化生成的文件或程序运行中生成的文件,卸载过程当中无法自动删除,请退出卸载程序后手动删除。

3. 手动彻底卸载清理
以root用户登录
# 删除安装残留目录
rm -rf /opt/kingbase/ES
# 停止并禁用服务
systemctl stop kingbase.service kingbased.service 2>/dev/null
systemctl disable kingbase.service kingbased.service 2>/dev/null
# 删除服务文件
rm -f /etc/systemd/system/kingbase*.service
# ⚠️ 重点:删除 SysV 脚本(否则服务会再生!)
rm -f /etc/init.d/kingbase*
rm -f /etc/init.d/kingbased*
# 重载 systemd
systemctl daemon-reload
# 再次输入验证,应无输出
systemctl list-unit-files | grep -i kingbase
# 再次输入验证,应无输出
ls /etc/init.d/kingbase* 2>/dev/null
# 清理旧配置(不影响用户本身)
rm -rf ~kingbase/.bash_history ~kingbase/.*_history
# 清理 .bashrc、.bash_profile 等
sed -i '/KINGBASE/d' ~kingbase/.bashrc ~kingbase/.bash_profile ~kingbase/.profile 2>/dev/null
sed -i '\|/nuctech/kingbase|d' ~kingbase/.bashrc ~kingbase/.bash_profile 2>/dev/null
# 清理全局配置(如 /etc/profile)
sed -i '/KINGBASE/d' /etc/profile 2>/dev/null
sed -i '\|/opt/kingbase|d' /etc/profile 2>/dev/null
# 清理临时文件和日志
rm -rf /tmp/kingbase_*
rm -rf /var/log/kingbase/
rm -rf /var/lock/subsys/kingbase 2>/dev/null
4. 最终验证清单
# 1. 安装目录不存在
ls /opt/kingbase/ES/V8 2>/dev/null
# 2. 无数据库进程
ps -ef | grep -i kingbase | grep -v grep
# 3. 无服务残留
systemctl list-unit-files | grep -i kingbase
ls /etc/init.d/kingbase* 2>/dev/null
# 4. 用户仍然存在(关键!)
id kingbase
# 5. 环境变量已清
grep -r "KINGBASE" ~kingbase/.bashrc /etc/profile 2>/dev/null