注册
基于 Mac 搭建 Linux 环境并安装达梦 DM8 单机
专栏/技术分享/ 文章详情 /

基于 Mac 搭建 Linux 环境并安装达梦 DM8 单机

科技不收敛 2026/08/28 210 0 0
摘要

基于 Mac 搭建 Linux 环境并安装达梦 DM8 单机

本文记录个人在 Mac M3 上使用 UTM 搭建 CentOS 7 x86_64 测试环境,并完成达梦 DM8 单机安装的过程。分享经验,供使用Mac的同学本地学习使用达梦时参考。

本文主要包含

  • Mac M3 与 UTM 的虚拟机选择;
  • CentOS 7 安装和 YUM 源重新配置;
  • 安装前环境检查与配置
  • DM8 用户、目录、软件安装和实例初始化;
  • 注册服务、启动服务和数据库验证;
  • Termius/SSH 连接和可选 VNC 配置;
  • 相关踩坑经验。

目录

  1. 环境说明
  2. 为什么选择 UTM
  3. 使用 UTM 安装 CentOS 7
  4. CentOS 7 基础配置
  5. 重新配置 YUM 源
  6. 安装前环境配置
  7. VNC可视化
  8. 安装达梦 DM8
  9. 验证是否搭建成功
  10. 踩坑记录
  11. 恢复和卸载
  12. 参考链接

1. 环境说明

我的本地环境如下:

项目 配置
宿主机 Mac M3,Apple Silicon,ARM64
虚拟机软件 UTM
Linux 客户机 CentOS 7 x86_64 Minimal
DM8 安装包 dm8_20260710_x86_CentOS7_64.zip
虚拟机资源 2 核 CPU、4 GB 内存、60GB 单块磁盘
数据库 DM8 单机单实例
数据库名 DAMENG
实例名 DMSERVER
监听端口 5236

这里有一个必须先理解的架构问题:Mac M3 是 ARM,而本次 CentOS 和 DM8 安装包都是 x86_64。因此 UTM 中不能选择 ARM64 原生虚拟化,而要选择 x86_64 模拟模式。注意模拟模式可以运行,但速度会比普通 ARM 虚拟机慢。

2. 为什么选择 UTM

最开始考虑过其他工具,最后使用 UTM,原因:

  • VMware Fusion 在 Apple Silicon 上要求客户机使用 ARM 架构,不能直接运行 x86_64 的 CentOS 7;Pass。
  • Multipass 更适合快速创建 Ubuntu 云镜像,没有可直接使用的 CentOS 7 镜像;Pass。
  • UTM 基于 QEMU,可以在 ARM Mac 上模拟 x86_64 客户机,正好匹配手上的 DM8 安装包。

UTM 的代价是性能较慢,所以这套环境适合学习安装、服务管理和 SQL 操作,不适合做性能基准测试。

3. 使用 UTM 安装 CentOS 7

3.1 创建虚拟机

在 UTM 中新建虚拟机,关键选项如下:

  1. 选择 Emulate模拟,不要选择 Virtualize虚拟化;
  2. 架构选择 x86_64;
  3. CPU 设置为 2 核;
  4. 内存设置为 4 GB;
  5. 创建 60 GB 虚拟磁盘(并非一下就完全占用,会动态增长);
  6. 挂载 CentOS-7-x86_64-Minimal-2009.iso;
  7. 网络选择 Shared Network共享网络;
  8. 启动虚拟机并完成 CentOS 7 安装。
    Pasted image 20260827161923_副本.png
    注意 :在CentOS安装完成后,会提醒reboot,这个时候不要选择reboot,否则会因为仍挂载CD导致反复循环初始化。
    此时应左上角关闭此客户机,然后选择该客户机,点击编辑,选择下方的IDE驱动器,删除掉大小10GB的驱动器,保留.qcow2 真正安装完 CentOS 的系统虚拟硬盘。然后再打开正常启动虚拟机。
    Pasted image 20260827162302.pngPasted image 20260827162343.png

3.2 CentOS 安装选项

安装 CentOS 时采用自动分区:

  • 语言: English ;
  • 时区:Asia/Shanghai;
  • 安装磁盘:选择 60 GB 虚拟磁盘并自动分区;
  • 网络:先开启网卡;(建议手动配置成固定的IP
  • 设置 root 密码。

DM8 安装前,可以考虑先复制整份 UTM 虚拟机文件,作为一个回退点或者备份快照。

4. CentOS 7 基础配置

后续命令都在 CentOS 虚拟机内执行。需要区分两种账号:

  • root:配置操作系统、软件源、用户、网络和服务;
  • dmdba:安装 DM8、初始化数据库和执行数据库操作。

4.1 检查架构和资源

cat /etc/centos-release uname -m hostname free -h df -hT ip addr

4.2 设置主机名

hostnamectl set-hostname dm8-lab

5. 重新配置 YUM 源

CentOS 7 已停止维护,默认镜像地址无法正常使用。因此在安装依赖前,需要把 YUM 源改成 CentOS Vault 的 7.9.2009 归档源。

5.1 备份旧 repo 文件

mkdir -p /etc/yum.repos.d/backup mv /etc/yum.repos.d/CentOS-*.repo /etc/yum.repos.d/backup/ 2>/dev/null || true

5.2 创建 Vault 配置

编辑 /etc/yum.repos.d/CentOS-Vault.repo,内容如下:

[base] name=CentOS-7.9.2009 - Base - Vault baseurl=https://vault.centos.org/7.9.2009/os/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [updates] name=CentOS-7.9.2009 - Updates - Vault baseurl=https://vault.centos.org/7.9.2009/updates/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [extras] name=CentOS-7.9.2009 - Extras - Vault baseurl=https://vault.centos.org/7.9.2009/extras/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

5.3 清理并验证 YUM

yum clean all yum makecache yum repolist yum install -y tar unzip libaio libaio-devel vim

如果 yum makecache 失败,先检查虚拟机网络、DNS,然后考虑配置国内镜像源。

6. 安装前环境配置

6.1 软件环境

以下为基础的一些配置,更多参考安装前准备工作
https://eco.dameng.com/document/dm/zh-cn/ops/before-installation.html

cat /etc/os-release ##操作系统查询: uname -r ##内核查询 getconf LONG_BIT ##系统位数查询 lscpu ##CPU查看 ##关闭防火墙 [root@~]# systemctl stop firewalld ##关闭开机自启 [root@~]# systemctl disable firewalld ##临时关闭 SELinux: [root@localhost ~]# setenforce 0 ##临时修改 ##查看是否启用透明大页 [root@~]# cat /sys/kernel/mm/transparent_hugepage/enabled ##[always]表示透明大页启用 [never] 表示透明大页禁用 ##禁用透明大页 [root@~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled ## 调整sysctl.conf参数 ##永久生效 ##用root用户编辑配置文件编辑/etc/sysctl.conf [root@dm~]# vim /etc/sysctl.conf ##修改vm.overcommit_memory=0 ## 执行 `sysctl -p` 使配置文件生效 ### 调整 limits.conf 参数 ##编辑 limits.conf 文件 [root@~]# vi /etc/security/limits.conf ##在最后面添加以下内容 * soft nproc 65536 * hard nproc 65536 * soft nofile 65536 * hard nofile 65536 dmdba soft nice 0 dmdba hard nice 0 dmdba soft as unlimited dmdba hard as unlimited dmdba soft fsize unlimited dmdba hard fsize unlimited dmdba soft nproc 65536 dmdba hard nproc 65536 dmdba soft nofile 65536 dmdba hard nofile 65536 dmdba soft core unlimited dmdba hard core unlimited dmdba soft data unlimited dmdba hard data unlimited ##重启操作系统 [root@]# reboot ##确认是否生效 [dmdba@]# ulimit -a ## 调整 system.conf 参数 ##编辑配置文件 /etc/systemd/system.conf [root@dm~]# vim /etc/systemd/system.conf ##添加配置: DefaultLimitNOFILE=65536 DefaultLimitNPROC=10240

6.2 创建数据库用户并授权

[root@]# groupadd dinstall -g 2001 [root@]# useradd -g dinstall dmdba -u 1001 [root@]# passwd dmdba [root@]# --<输入密码> [root@~]# --<再次输入密码> [root@]# mkdir /opt/dmdbms [root@]# chown dmdba:dinstall /opt/dmdbms  -R [root@]# chmod 777 /opt/dmdbms -R

7. VNC可视化(可选)

Mac上使用 的Termius 通过 SSH 连接 CentOS;Mac Terminal 也可以使用:

ssh <用户名>@192.168.64.20

如果需要可视化,可以安装VNC ,但不是 DM8 安装的必需条件,只是为了方便从 Mac 进入 CentOS 图形桌面。下面给出一个简单的 TigerVNC + GNOME 配置,VNC 会话使用 dmdba,不要使用 root。

7.1 安装 GNOME 和 TigerVNC

以 root 执行:

yum groupinstall -y "GNOME Desktop" yum install -y tigervnc-server

7.2 配置 dmdba 的 VNC 密码

切换到 dmdba,交互式设置密码:

su - dmdba vncpasswd mkdir -p ~/.vnc

7.3 注册 VNC 服务

以 root 复制 CentOS 7 自带的模板服务:

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service sed -i 's/<USER>/dmdba/g' /etc/systemd/system/vncserver@:1.service systemctl daemon-reload systemctl enable vncserver@:1 systemctl start vncserver@:1 systemctl status vncserver@:1 --no-pager

显示号 :1 默认对应 TCP 端口 5901。Mac 上可以使用系统屏幕共享打开:

open vnc://192.168.64.20:5901

如果 VNC 只用于执行命令,可以不安装 GNOME;Termius 或 Mac Terminal 已经足够完成 DM8 命令行安装。

8. 安装达梦 DM8

本节只保留 DM8 单机安装的关键步骤:用户创建、软件安装、实例初始化、服务注册和启动。

8.1 挂载 DM8 ISO

回到 CentOS 后,以 root 检查设备并挂载:

unzip dm8_20260710_x86_CentOS7_64.zip mount -o loop /opt/dm8_20260710_x86_CentOS7_64.iso /mnt/ ls -lh /mnt/
### 8.4 安装 DM8 软件

使用 dmdba 执行安装程序:

cd /mnt
./DMInstall.bin -i  ##  -i 表示命令行安装

命令行安装时按实际安装程序提示选择:

  1. 安装语言;
  2. Key 文件(有授权文件时填写);
  3. 中国标准时间;
  4. 典型安装;
  5. 软件目录 /home/dmdba/dmdbms;
  6. 确认安装。

安装结束后,如果程序提示使用 root 执行脚本,再切换到 root 执行安装程序显示的脚本。

su - root /opt/dmdbms/script/root/root_installer.sh

实际脚本路径以安装程序输出为准。

8.2 初始化数据库实例

本次采用的初始化参数为:

  • 数据目录:/opt/dmdbms/data;
  • 数据库名:DAMENG;
  • 实例名:DMSERVER;
  • 端口:5236;
  • PAGE_SIZE=32;
  • LOG_SIZE=2048;
  • CHARSET=0;
  • CASE_SENSITIVE=Y。

命令参考:

./dminit PATH=/opt/dmdbms/data PAGE_SIZE=32 LOG_SIZE=2048 CHARSET=0 CASE_SENSITIVE=Y SYSDBA_PWD=****** SYSAUDITOR_PWD=****** ##看到下面success 表示初始化成功。 initdb V8 db version: 0x7000c file dm.key not found, use default license! License will expire on 2025-09-18 Normal of FAST Normal of DEFAULT Normal of RECYCLE Normal of KEEP Normal of ROLL log file path: /opt/dmdbms/data/DAMENG/DAMENG01.log log file path: /opt/dmdbms/data/DAMENG/DAMENG02.log write to dir [/opt/dmdbms/data/DAMENG]. create dm database success. 2025-04-03 11:10:57

8.3 注册实例服务

以 root 执行。DM8 常用服务注册参数是 -dm_ini:

## dmdba 退出到root执行 [dmdba@dmdsc03 ~]$ exit [root@~]# /opt/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /opt/dmdbms/data/DAMENG/dm.ini -p DMSERVER Created symlink /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service → /usr/lib/systemd/system/DmServiceDMSERVER.service. 创建服务(DmServiceDMSERVER)完成

8.4 启动实例服务

[dmdba@dmdsc03 ~]$ /opt/dmdbms/bin/DmServiceDMSERVER start Starting DmServiceDMSERVER: [ OK ]

后续数据库实例配置,配置归档等更多参考
https://eco.dameng.com/document/dm/zh-cn/ops/installation-install.html#1.3.3%20Linux%20%E7%8E%AF%E5%A2%83

9. 验证是否搭建成功

搭建成功主要分成四个判断:软件安装成功、实例初始化成功、服务启动成功、数据库可以连接。

9.1 数据库连接

以 dmdba 启动 disql,然后执行查询:

cd /opt/dmdbms/bin/ ./disql username/password@IP:PORT select name, status$ from v$database; select * from v$version; select path from v$datafile;

判断标准:

  • 可以连接 DAMENG 数据库;
  • 数据库状态正常;
  • 查询可以返回 DM8 版本信息;
  • 数据文件路径与规划一致。

9.2 DM 管理工具(manager)

如果已经配置 VNC,可以使用 dmdba 登录 GNOME 桌面,从 DM8 安装目录或应用菜单启动 DM 管理工具:

## 在可视化页面执行 cd /opt/dmdbms/bin/ ./manager.sh

这一步只是图形化连接验证,不作为 DM8 命令行安装成功的必要条件。

10. 踩坑记录

10.1 VMware Fusion 与 x86_64 CentOS

在 Apple Silicon Mac 上,VMware Fusion 不能直接运行 x86_64 CentOS 客户机。当前 DM8 包是 x86_64,所以没有继续用 Fusion 做这条安装主线。

10.2 Multipass 与 CentOS

Multipass 主要面向 Ubuntu 镜像。它适合快速创建 Ubuntu 测试机,但没有本次需要的可直接使用的 CentOS 7 镜像,因此不适合当前 DM8 CentOS 7 方案。

10.3 UTM 模式选错

如果在 UTM 中选择 Virtualize/ARM64,CentOS 可能能够启动,但和 x86_64 DM8 安装介质不匹配。必须选择 Emulate/x86_64。

10.4 CentOS 7 YUM 源失效

CentOS 7 默认 repo 可能无法访问。安装 tar、libaio、GNOME 或 TigerVNC 前,需要先切换到 Vault 源或者配置国内镜像源。

10.5 模拟速度较慢

UTM 在 M3 上模拟 x86_64,任何操作包括安装和启动速度比 ARM 原生虚拟机慢,安装好后用Terminus远程显示和运行的速度差异不大。

10.6 安装、初始化、注册和启动不是同一步

DM8 软件安装完成,不代表数据库已经可以连接。完整顺序是:

安装软件 → 注册数据库服务 → 初始化实例 → 注册实例服务 → 启动实例服务 → disql 连接验证

11. 恢复和卸载

如果 DM8 安装失败,优先关闭虚拟机并恢复安装前复制的 UTM 虚拟机文件,不要在未知状态的目录上重复执行 dminit。


如果需要卸载 DM8,先根据当前安装包提供的服务卸载脚本注销实例服务,再进入软件目录执行:

~~~bash
##进入DM安装目录 
cd /DM_INSTALL_PATH 
##执行卸载脚本 
./uninstall.sh

卸载软件不等于删除 /dm8/data、归档和备份目录。数据目录是否删除,应单独确认;本文不提供批量删除命令。

12. 参考链接

UTM 官方资料

达梦官方资料

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服