当前位置: 首页 > news >正文

达梦数据库一键安装脚本详解

版本历史

版本

日期

修改内容

V1.02025-06-161、增加判断,根据达梦安装包不同文件类型来做不同的解压并且挂载
2、修复BUG:如果key文件为空则报错,修复判断逻辑
V1.0.12025-06-171、增加功能:可以自定义是否开启归档功能以及自定义归档文件目录
2、修复BUG:如果key文件不在脚本设置的路径中,无法更改静默安装配置文件
V1.0.22025-06-18增加功能:可以自定义开启数据库全量以及增量自动备份
V1.0.32025-06-251、增加功能:可以自定义全量、增量、定时删除上的周几以及备份时间
2、修复BUG:修复没开启归档的时候也会创建对应的归档目录
V1.0.42025-06-26功能增加:数据库安装好后,会自动安装总结
V1.0.52025-07-02修复BUG:修复安装包如果直接是bin的情况下,导致无法识别

需要脚本的可以评论区留言

一、脚本概况

本脚本 install_dm_database.sh 用于自动化完成达梦数据库(DM)的安装与配置工作。它集成了系统环境准备、数据库安装包处理、数据库初始化、归档日志开启以及自动备份任务配置等一系列功能,有效简化了达梦数据库的部署流程。

二、脚本功能详细介绍

  • 自动创建用户和组
  • 可选择是否关闭系统防火墙
  • 可自定义系统安装目录以及数据存放目录
  • 可自定义是否初始化数据库
  • 可自定义是否开启归档及归档目录
  • 可自定义数据库定时全备+增量备份+定时删除
  • 自动添加达梦数据库为系统服务并开机自启
  • 安装后自动总结安装信息,便于统计

三、使用步骤

1、脚本配置

在脚本的用户配置区域,根据实际需求修改以下变量:

# 必填 - DM安装包路径
dmsoft=/root/dm8_20250122_x86_rh7_64.zip
# 必填 - DM安装目录
dmbasedir=/data/dmserver/app
# 必填 - DM数据目录
dmdatadir=/data/dmserver/data
# 必填 - 上传后的DM静默文件安装位置
jmaz=/root/jmaz.xml
# 本机服务器IP
server_ip="127.0.0.1"

2. 系统安全配置

根据需要修改系统安全配置参数:

FIREWALL_ACTION=1  # 1=关闭防火墙,0=不操作防火墙(保持默认)
SELINUX_ACTION=1   # 1=关闭SELinux,0=不操作SElinux(保持默认)

3.静默安装配置

根据实际需求修改 jmaz.xml 静默安装配置参数:

# 数据库核心配置
XML_INIT_DB="y"                       # 是否初始化数据库 Y/N、y/n,不允许为空
XML_DB_NAME="DAMENG"                  # 数据库名
XML_INSTANCE_NAME="DMSERVER"          # 实例名
XML_PORT_NUM="5236"                   # 数据库端口
XML_SYSDBA_PWD="Passw0rd@DM"          # SYSDBA密码(需包含大小写字母和数字)
XML_SYSAUDITOR_PWD="Passw0rd@DM"      # SYSAUDITOR密码(需包含大小写字母和数字)
XML_BLANK_PAD_MODE="0"                # 设置空格填充模式,取值范围:0,1,缺省为0 
XML_CASE_SENSITIVE="n"                # 大小写敏感 (y/n)
XML_CHARSET="1"                       # 字符集 (0=GB18030, 1=UTF-8, 2代表韩文字符集EUC-KR)
XML_PAGE_SIZE="32"                    # 页大小 (4/8/16/32)
XML_EXTENT_SIZE="32"                  # 簇大小 (16/32/64)
XML_LOG_SIZE="2048"                   # 日志文件大小(MB)
XML_KEY=""                            # 非必填 - 授权文件位置,不要放压缩名 没有授权文件填写示例:XML_KEY=""

如果没有初始化数据库的话,后面的归档、备份等操作就算开启了也不执行

4、归档配置

根据需要配置数据库归档相关参数:

# 是否数据库开启归档
arch=1  # 1=开启归档,0=不开启(如果不初始化数据库,这里不生效)
# 归档目录,数据库开启归档之后这里才生效
archdir=/data/dmserver/dmarch

5、自动备份配置

根据需要配置自动备份相关参数:

# 是否开启自动备份 周六凌晨一点全备,周日到周五凌晨一点增量备份
# !!!注意:自动备份开启需要数据库开启归档后才可以设置
# !!!注意:增量备份路径会有一个已经备份过的文件,这个文件不要删,增量备份需要基于该文件来备份
# 全量备份任务名称为:bak_full
# 增量备份任务名词为:bak_incr
backup=1                                       # 1=开启备份,0=不开启(如果不开启归档,这里不生效)
full_bak_path=/data/dmserver/data/DAMENG/bak     # 全量自动备份文件路径
inc_bak_path=/data/dmserver/data/DAMENG/inck    # 增量自动备份文件路径
# 备份日期配置: 每日对应位值: 周日=1, 周一=2, 周二=4, 周三=8, 周四=16, 周五=32, 周六=64
# 例如: 
#   仅周六备份          = 64
#   仅周一备份          = 2 
#   周六和周日备份       = 65 
#   每天都备份          = 127
full_bak_days=64          # 当前配置: 仅周六备份
full_bak_time=01:00:00    # 全备备份时间
inc_bak_days=63           # 当前配置: 除周六每天增量备份
inc_bak_time=01:00:00     # 增备备份时间
clean_days=15             # 删除十五天前的备份文件(包括全量和全备)
clean_time=00:00:00

6、执行脚本

使用root用户执行脚本

chmod +x install_dm_database1111.sh
./install_dm_database1111.sh

四、使用案例

案例一:全新安装达梦数据库并开启归档和自动备份

  1. 按照上述步骤完成脚本配置,确保arch=1和backup=1
  2. 执行脚本,脚本将自动完成系统环境准备、数据库安装、归档日志开启和自动备份任务配置
  3. 安装完成后,达梦数据库将在指定端口上运行,归档日志将存储在指定的归档目录中,自动备份任务将按照配置时间和路径执行

执行脚本

[root@AAAA ~]# sh install_dm_database.sh

结果如图:

 

案例二:进安装达梦数据库,不开启归档和自动备份

  1. 按照上述步骤完成脚本配置,将 arch=0 和 backup=0 
  2. 执行脚本,脚本将自动完成系统环境准备和数据库安装,不进行归档日志开启和自动备份的任务配置
  3. 安装完成后,达梦数据库将在指定的端口上运行,不启用归档日志和自动备份功能

 执行脚本

[root@AAAA ~]# sh install_dm_database.sh

结果如图:

 

五、注意事项

  • 必须使用root权限运行脚本,否则脚本将无法正常执行
  • 请确保DM安装包文件存在,并且路径配置正确
  • 自动备份功能需要数据库开启归档后才可以设置,请确保 arch=1 时再开启自动备份
  • 脚本中的密码需要包含大小写字母和数字,以满足达梦数据库的安全要求
  • 脚本执行过程中可能会因为cpu、磁盘空间等原因出现错误,请根据错误信息进行响应的处理

http://www.dtcms.com/a/265007.html

相关文章:

  • 《P4145 上帝造题的七分钟 2 / 花神游历各国》
  • VSCode-Copilot的系统提示词
  • 云上配送革命:亚矩云手机如何重塑Uber Eats的全球外卖生态
  • Javaweb - 9 HTTP 协议
  • MAC 多应用切换技巧,单应用切换技巧
  • CentOS 卸载docker
  • [学习记录] HLSL-编译指示及属性
  • IPS防御原理和架构
  • Prompt Engineering Guide — 提示工程全方位指南
  • Kafka Controller 元数据解析与故障恢复实战指南
  • UI前端大数据处理策略优化:基于云计算的数据存储与计算
  • leetcode:416.分割等和子集【01背包】【动态规划】
  • 光照解耦和重照明
  • 接口测试用例设计
  • Shader Graph学习——屏幕uv采样
  • 智能学号抽取系统 V3.7.5 —— 一个基于 Vue.js 的交互式网页应用
  • Arduino CH552 PWM的使用
  • 项目开发基本流程
  • 深入理解Unicode:字符编码的终极指南
  • RGB下的色彩变换:用线性代数解构色彩世界
  • vue3 JavaScript localeCompare 比较两个字符串 localeCompare is not a function
  • 如何将文件从 iPhone 传输到 Android(新指南)
  • Spring Boot 集成 GeoTools 详解
  • 昇腾机器节点磁盘状态检查与问题处理方法
  • 智能攻击原理和架构
  • 深入Flink核心概念:解锁大数据流处理的奥秘
  • vue-36(为组件编写单元测试:属性、事件和方法)
  • 【Linux】Rocky Linux 安装教程
  • vscode基本使用
  • armv8汇编码分析