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