一、安装前准备
1. 下载达梦数据库
下载地址:https://eco.dameng.com/download/
2. 创建达梦用户
2.1. 创建用户组 - groupadd -g dmdba dinstall
复制代码
2.2.创建用户 - useradd -u dmdba -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
复制代码
2.3. 修改用户密码
3. 修改文件最大打开数
使用 vim 编辑器打开 /etc/security/limits.conf 文件,命令如下: - vi /etc/security/limits.conf
复制代码
在最后添加四条语句,需添加的语句如下: - dmdba hard nofile 65537
- dmdba soft nofile 65537
- dmdba hard stack 32768
- dmdba soft stack 16384
复制代码
切换到 dmdba 用户,查看是否生效,命令如下:
4.挂载镜像
切换到 root 用户,将DM数据库的 iso 安装包挂载在任意位置,列如/dm目录下(不存在则新建目录/dm)
进入iso所在目录,这里的pathToIso修改为实际ISO所在目录。 - cd pathToIso/dm8_20230104_x86_rh6_64.iso
复制代码
执行如下命令挂载镜像: - mount -o loop dm8_20230104_x86_rh6_64.iso /dm
复制代码
5. 创建数据库安装目录
在达梦目录下创建 /dm 文件夹,用来安装 DM 数据库。命令如下:
注意: 使用 root 用户建立文件夹,待 dmdba 用户建立完成后,需将文件所有者更改为 dmdba 用户,否则无法安装到该目录下。
将新建的安装路径目录权限的用户修改为 dmdba,用户组修改为 dinstall。命令如下: - chown dmdba:dinstall -R /home/dmdba/dm
复制代码
给安装路径下的文件设置 755 权限。命令如下: - chmod -R 755 /home/dmdba/dm
复制代码
二、安装
1. 数据库安装
切换到数据库用户进行安装
进入达梦iso挂载目录
执行安装命令
由于数据库安装服务非root用户, 无法创建服务。需要以root用户执行下述脚本:建立数据库配置文件,进行数据库服务创建,配置systemd服务管理,配置开机自启动。
2.配置环境变量
切换到 root 用户进入 dmdba 用户的根目录下,配置对应的环境变量。DM_HOME 变量和动态链接库文件的加载路径在程序安装成功后会自动导入。 添加path环境变量,命令如下: 编辑 $DM_HOME/.bash_profile,使其最终效果如下图所示: - cd /home/dmdba/
- vim .bash_profile
复制代码
加入一行 - export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
复制代码
然后切换至 dmdba 用户下,执行以下命令,使环境变量生效。 - su - dmdba
- source .bash_profile
复制代码
3. 初始化数据库实例
使用 dmdba 用户始化数据库实例,进入到 DM 数据库安装目录下的 bin 目录中,使用 dminit 命令初始化实例。 dminit 命令可设置多种参数,可执行如下命令查看可配置参数
关键字 | 说明(默认值) |
---|
INI_FILE | 初始化文件dm.ini存放的路径 | PATH | 初始数据库存放的路径 | CTL_PATH | 控制文件路径 | LOG_PATH | 日志文件路径 | EXTENT_SIZE | 数据文件使用的簇大小(16),可选值:16, 32, 64,单位:页 | PAGE_SIZE | 数据页大小(8),可选值:4,8,16,32,单位:K | LOG_SIZE | 日志文件大小(256),单位为:M,范围为:256M~2G | CASE_SENSITIVE | 大小敏感(Y),可选值:Y/N,1/0 | CHARSET/UNICODE_FLAG | 字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR] | SEC_PRIV_MODE | 权限管理模式(0),可选值:0[TRADITION],1[BMJ],2[EVAL],3[ZB] | LENGTH_IN_CHAR | VARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0 | SYSDBA_PWD | 设置SYSDBA密码(SYSDBA) | SYSAUDITOR_PWD | 设置SYSAUDITOR密码(SYSAUDITOR) | DB_NAME | 数据库名(DAMENG) | INSTANCE_NAME | 实例名(DMSERVER) | PORT_NUM | 监听端口号(5236) | BUFFER | 系统缓存大小(100),单位M | TIME_ZONE | 设置时区(+08:00) | PAGE_CHECK | 页检查模式(1),可选值:0/1/2 | PAGE_HASH_NAME | 设置页检查HASH算法 | EXTERNAL_CIPHER_NAME | 设置默认加密算法 | EXTERNAL_HASH_NAME | 设置默认HASH算法 | EXTERNAL_CRYPTO_NAME | 设置根密钥加密引擎 | RLOG_ENCRYPT_NAME | 设置日志文件加密算法,若未设置,则不加密 | USBKEY_PIN | 设置USBKEY PIN | PAGE_ENC_SLICE_SIZE | 设置页加密分片大小,可选值:0、512、4096,单位:Byte | ENCRYPT_NAME | 设置全库加密算法 | BLANK_PAD_MODE | 设置空格填充模式(0),可选值:0/1 | SYSTEM_MIRROR_PATH | SYSTEM数据文件镜像路径 | MAIN_MIRROR_PATH | MAIN数据文件镜像 | ROLL_MIRROR_PATH | 回滚文件镜像路径 | MAL_FLAG | 初始化时设置dm.ini中的MAL_INI(0) | ARCH_FLAG | 初始化时设置dm.ini中的ARCH_INI(0) | MPP_FLAG | Mpp系统内的库初始化时设置dm.ini中的mpp_ini(0) | CONTROL | 初始化配置文件(配置文件格式见系统管理员手册) | AUTO_OVERWRITE | 是否覆盖所有同名文件(0) 0:不覆盖 1:部分覆盖 2:完全覆盖 | USE_NEW_HASH | 是否使用改进的字符类型HASH算法(1) | ELOG_PATH | 指定初始化过程中生成的日志文件所在路径 | AP_PORT_NUM | 分布式环境下协同工作的监听端口 | DFS_FLAG | 初始化时设置dm.ini中的DFS_INI(0) | DFS_PATH | 启用dfs时指定数据文件的缺省路径 | DFS_HOST | 指定连接分布式系统DFS的服务地址(localhost) | DFS_PORT | 指定连接分布式系统DFS的服务端口号(3332) | DFS_COPY_NUM | 指定分布式系统的副本数(3) | DFS_DB_NAME | 指定分布式系统的中数据库名(默认与DB_NAME一致) | SHARE_FLAG | 指定分布式系统中该数据库的共享属性(0) | REGION_MODE | 指定分布式系统中该数据库的系统表空间数据文件的区块策略(0) 0:微区策略 1:宏区策略 | HUGE_WITH_DELTA | 是否仅支持创建事务型HUGE表(1) 1:是 0:否 | RLOG_GEN_FOR_HUGE | 是否生成HUGE表REDO日志(1) 1:是 0:否 | PSEG_MGR_FLAG | 是否仅使用管理段记录事务信息(0) 1:是 0:否 | CHAR_FIX_STORAGE | CHAR是否按定长存储(N),可选值:Y/N,1/0 | SQL_LOG_FORBID | 是否禁止打开SQL日志(N),可选值:Y/N,1/0 | DPC_MODE | 指定DPC集群中的实例角色(0) 0:无 1:MP 2:BP 3:SP,取值1/2/3时也可以用MP/BP/SP代替 | HELP | 打印帮助信息 |
使用如下命令初始化数据库 - ./dminit path=/home/dmdba/dm/data db_name=DAMENG instance_name=DMSERVER port_num=5236 CASE_SENSITIVE=0 CHARSET=1
复制代码
参数名 | 说明 |
---|
path=/home/dmdba/dm/data | 初始数据库存放的路径 | db_name=DAMENG | 数据库名(DAMENG) | instance_name=DMSERVER | 实例名(DMSERVER) | port_num=5236 | 监听端口号(5236) |
4. 注册数据库服务
给刚初始化的数据库创建后台服务 需使用root用户创建 服务名叫做DmServiceDMSERVER - cd /home/dmdba/dmdbms/script/root
复制代码- ./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dm/data/DAMENG/dm.ini -p DMSERVER
复制代码
设置服务开机自启动,并开启服务。 - systemctl enable DmServiceDMSERVER
复制代码
开启服务 - systemctl start DmServiceDMSERVER
复制代码
三、卸载
切换到root用户
停止服务 - systemctl stop DmServiceDMSERVER
复制代码- systemctl stop DmAPService.service
复制代码
执行卸载程序 切换到dmdba用户 - dmdba@debian:~/dmdbms$ ./uninstall.sh -i
- 请确认是否卸载达梦数据库(/home/dmdba/dmdbms/)? (y/Y:是 n/N:否):y
- 是否删除dm_svc.conf配置文件? (y/Y:是 n/N:否):y
- 正在删除所有数据库库服务
- 删除数据库服务DmAuditMonitorService
- 删除数据库服务DmInstanceMonitorService
- 删除数据库服务DmJobMonitorService
- 删除数据库服务DmAPService
- 删除数据库服务DmServiceDMSERVER
- 删除所有数据库库服务完成
- 正在删除数据库目录
- 删除bin目录
- 删除bin目录完成
- 删除bin2目录
- 删除bin2目录完成
- 删除include目录
- 删除include目录完成
- 删除desktop目录
- 删除desktop目录完成
- 删除doc目录
- 删除doc目录完成
- 删除drivers目录
- 删除drivers目录完成
- 删除jdk目录
- 删除jdk目录完成
- 删除jar目录
- 删除jar目录完成
- 删除samples目录
- 删除samples目录完成
- 删除script目录
- 删除script目录完成
- 删除tool目录
- 删除tool目录完成
- 删除web目录
- 删除web目录完成
- 删除uninstall目录
- 删除uninstall目录完成
- 删除license_en.txt文件
- 删除license_en.txt文件完成
- 删除license_zh.txt文件
- 删除license_zh.txt文件完成
- 删除uninstall.sh文件
- 删除uninstall.sh文件完成
- 删除数据库目录完成
- 使用root用户执行命令:
- /home/dmdba/dmdbms/root_uninstaller.sh
- dmdba@debian:~/dmdbms$
复制代码
使用root用户执行清理命令 切换到root - /home/dmdba/dmdbms/root_uninstaller.sh
复制代码- root@debian:/home/dmdba/dmdbms/script/root# /home/dmdba/dmdbms/root_uninstaller.sh
- sh: 0: getcwd() failed: No such file or directory
- 删除DmAPService服务
- Removed /etc/systemd/system/multi-user.target.wants/DmAPService.service.
- 删除DmServiceDMSERVER服务
- Removed /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service.
- 删除/etc/dm_svc.conf文件
- root@debian:/home/dmdba/dmdbms/script/root#
复制代码
四、感谢
linux安装达梦数据库v8 |