# 达梦 DM8 安装与初始化 ## 场景 国产化替代项目要装达梦数据库,替换原来的 Oracle / MySQL。 ## 前置条件 - 拿到安装包和授权文件(`dm.key`) - 操作系统匹配(麒麟 / 统信 / CentOS) - 规划好安装目录和数据目录,**不要用 root 跑数据库** - 关闭或调整 SELinux ## 配置 ```bash # 1. 建用户和目录 groupadd dinstall useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba mkdir -p /dm8 /dmdata chown -R dmdba:dinstall /dm8 /dmdata # 2. 解压并安装(命令行模式) unzip dm8_setup.zip cd dm8_setup ./DMInstall.bin -i # 按提示选:安装目录 /dm8、key 文件、不初始化实例 ``` 初始化实例: ```bash su - dmdba cd /dm8/bin ./dminit PATH=/dmdata PAGE_SIZE=16 CHARSET=1 CASE_SENSITIVE=1 DB_NAME=DAMENG ``` 注册服务并启动: ```bash ./dm_service_installer.sh -t dmserver -p DAMENG -dm_ini /dmdata/DAMENG/dm.ini systemctl start DmServiceDAMENG ``` ## 验证 ```bash cd /dm8/bin ./disql SYSDBA/SYSDBA@127.0.0.1:5236 ``` ```sql SELECT * FROM v$version; SELECT STATUS$ FROM v$instance; ``` 默认端口 5236,默认账号 `SYSDBA`,装完第一件事是改密码。 ## 回滚 ```bash systemctl stop DmServiceDAMENG ./dm_service_uninstaller.sh -n DmServiceDAMENG ``` 删掉 `/dm8` 和 `/dmdata`。 ## 坑 - **用 root 初始化实例**,后面权限全乱,必须 `dmdba`。 - 字符集选错,中文入库变问号,重装代价很大。 - `CASE_SENSITIVE` 选了 1,SQL 里表名大小写敏感,MySQL 迁移过来的应用会报错。 - 内存参数(`MEMORY_POOL`、`BUFFER`)按机器规格调,默认值偏小。 - 麒麟系统上要先确认依赖库(`libaio` 等)。 - 授权文件到期会直接拒绝启动,提前看 `dm.key` 的有效期。