0aa8fe6
这次没有正文改动。
这是 database/达梦 DM8 安装与初始化.md 的改动记录。后台每次保存都会留一份快照,
这里显示的是快照之间的差异,不会混入其他文章的改动。
还没有后台修改记录。
下面是 Git 里的提交,可能包含其他文章的改动(因为一次提交会带上工作区所有变化)。
0aa8fe6
这次没有正文改动。
a0b4968
@@ -0,0 +1,81 @@ +--- +tags: [达梦, DM8, 国产化] +order: 40 +--- + +# 达梦 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` 的有效期。