达梦数据库安装搭建步骤
1、创建安装所需用户
[root@oel ~]# groupadd dinstall -g 2001
[root@oel ~]# useradd -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba
[root@oel ~]# passwd dmdba
Changing password for user dmdba.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
2、修改资源限制
[root@oel ~]# vi /etc/security/limits.conf
dmdba soft nice 0
dmdba hard nice 0
dmdba soft as unlimited
dmdba hard as unlimited
dmdba soft fsize unlimited
dmdba hard fsize unlimited
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft data unlimited
dmdba hard data unlimited
查看资源限制是否生效
[root@oel ~]# su - dmdba
[dmdba@oel ~]$ ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 20
file size (blocks, -f) unlimited
pending signals (-i) 95246
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 65536
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
3、创建安装所需目录,并修改所属用户权限
[root@oel ~]# mkdir -p /u01/dmdata/data
[root@oel ~]# mkdir -p /u01/dmdata/arch
[root@oel ~]# mkdir -p /u01/dmdata/dmbak
[root@oel ~]# chown -R dmdba:dinstall /u01/dmdata/data
[root@oel ~]# chown -R dmdba:dinstall /u01/dmdata/arch
[root@oel ~]# chown -R dmdba:dinstall /u01/dmdata/dmbak
[root@oel ~]# chmod -R 755 /u01/dmdata/data
[root@oel ~]# chmod -R 755 /u01/dmdata/arch
[root@oel ~]# chmod -R 755 /u01/dmdata/dmbak
4、上传安装镜像文件,这里已经预先上传完成
[root@oel ~]# su - dmdba
[dmdba@oel dmsoft]$ ll
total 1038604
-rw-r--r--. 1 root root 1063526918 Jun 24 16:51 dm8_20240408_x86_rh7_64_ent_8.1.3.140.zip
解压文件
[dmdba@oel dmsoft]$ unzip dm8_20240408_x86_rh7_64_ent_8.1.3.140.zip
Archive: dm8_20240408_x86_rh7_64_ent_8.1.3.140.zip
inflating: dm8_20240408_x86_rh7_64.iso
inflating: dm8_20240408_x86_rh7_64.iso_SHA256.txt
[dmdba@oel dmsoft]$ ll
total 2095700
-rw-r--r--. 1 root root 1063526918 Jun 24 16:51 dm8_20240408_x86_rh7_64_ent_8.1.3.140.zip
-rw-rw-r--. 1 dmdba dmdba 1082462208 May 30 09:11 dm8_20240408_x86_rh7_64.iso
-rw-rw-r--. 1 dmdba dmdba 158 May 30 09:11 dm8_20240408_x86_rh7_64.iso_SHA256.txt
挂载安装镜像文件至 /mnt 目录
[root@oel dmsoft]# mount -o loop dm8_20240408_x86_rh7_64.iso /opt/mnt/
mount: /dev/loop0 is write-protected, mounting read-only
5、开始命令行安装达梦数据库
[root@oel dmsoft]# su - dmdba
Last login: Mon Jun 24 16:50:41 CST 2024 on pts/0
[dmdba@oel ~]$ cd /mnt/
[dmdba@oel mnt]$ ll
total 1057031
-r-xr-xr-x. 1 root root 2587699 Mar 20 14:04 DM8 Install.pdf
-r-xr-xr-x. 1 root root 1079810877 Apr 8 13:35 DMInstall.bin
执行安装命令开始安装
[dmdba@oel mnt]$ ./DMInstall.bin -i
Installer Language:
[1]: 简体中文
[2]: English
Please select the installer's language [2]:1
解压安装程序.........
欢迎使用达梦数据库安装程序
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n
是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
设置时区:
[ 1]: (GTM-12:00) 日界线西
[ 2]: (GTM-11:00) 萨摩亚群岛
[ 3]: (GTM-10:00) 夏威夷
[ 4]: (GTM-09:00) 阿拉斯加
[ 5]: (GTM-08:00) 太平洋时间(美国和加拿大)
[ 6]: (GTM-07:00) 亚利桑那
[ 7]: (GTM-06:00) 中部时间(美国和加拿大)
[ 8]: (GTM-05:00) 东部部时间(美国和加拿大)
[ 9]: (GTM-04:00) 大西洋时间(美国和加拿大)
[10]: (GTM-03:00) 巴西利亚
[11]: (GTM-02:00) 中大西洋
[12]: (GTM-01:00) 亚速尔群岛
[13]: (GTM) 格林威治标准时间
[14]: (GTM+01:00) 萨拉热窝
[15]: (GTM+02:00) 开罗
[16]: (GTM+03:00) 莫斯科
[17]: (GTM+04:00) 阿布扎比
[18]: (GTM+05:00) 伊斯兰堡
[19]: (GTM+06:00) 达卡
[20]: (GTM+07:00) 曼谷,河内
[21]: (GTM+08:00) 中国标准时间
[22]: (GTM+09:00) 首尔
[23]: (GTM+10:00) 关岛
[24]: (GTM+11:00) 所罗门群岛
[25]: (GTM+12:00) 斐济
[26]: (GTM+13:00) 努库阿勒法
[27]: (GTM+14:00) 基里巴斯
请选择时区 [21]:21
安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1
所需空间: 2310M
请选择安装目录 [/home/dmdba/dmdbms]:
可用空间: 11G
是否确认安装路径(/home/dmdba/dmdbms)? (Y/y:是 N/n:否) [Y/y]:y
安装前小结
安装位置: /home/dmdba/dmdbms
所需空间: 2310M
可用空间: 11G
版本信息:
有效日期:
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2024-06-24 17:08:41
[INFO] 安装达梦数据库...
2024-06-24 17:08:41
[INFO] 安装 基础 模块...
2024-06-24 17:08:54
[INFO] 安装 服务器 模块...
2024-06-24 17:08:58
[INFO] 安装 客户端 模块...
2024-06-24 17:09:06
[INFO] 安装 驱动 模块...
2024-06-24 17:09:10
[INFO] 安装 手册 模块...
2024-06-24 17:09:11
[INFO] 安装 服务 模块...
2024-06-24 17:09:11
[INFO] 移动日志文件。
2024-06-24 17:09:12
[INFO] 安装达梦数据库完成。
请以root系统用户执行命令:
/home/dmdba/dmdbms/script/root/root_installer.sh
安装结束
注意:在ROOT用户下执行 root_installer.sh 脚本
[root@oel ~]# /home/dmdba/dmdbms/script/root/root_installer.sh
移动 /home/dmdba/dmdbms/bin/dm_svc.conf 到/etc目录
创建DmAPService服务
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务
6、安装完成后配置数据库实例
[root@oel dmsoft]# su - dmdba
Last login: Mon Jun 24 17:00:13 CST 2024 on pts/0
[dmdba@oel ~]$ ll
total 8
drwxr-xr-x. 15 dmdba dmdba 4096 Jun 24 17:09 dmdbms
drwxrwxr-x. 2 dmdba dmdba 4096 Jun 24 16:55 dmsoft
[dmdba@oel ~]$ cd dmdbms/bin/
[dmdba@oel bin]$ ls
asmtest dmrachk libdmaud.so libdmllog.so libdmuthr.so
asmtestm dmrdc libdmbak2.so libdmlnk.so libdmutl.so
cexe dmrman libdmbcast2.so libdmlogmnr_client.so libdmvtdskm.so
client_ssl dmrslcvt libdmbcast.so libdmlogmnr.so libdmvtdsk.so
dclone dmserver libdmbifun.so libdmmal.so libdmwseg.so
dexp dmshp2st libdmblb.so libdmmc.so libdmxai.so
dexpdp dmst2shp libdmbldr.so libdmmem.so libdmxa.so
dimp dmstub libdmbrtsk.so libdmmout.so libdmxmal.so
dimpdp dmukey_gen libdmbtr.so libdmmraft.so libdodbc.so
disql dmwatcher libdmcalc.so libdmmsg_parse.so libdwatcher.so
disql_conf dpc_new libdmcfg.so libdmmsgparse.so libdwmon.so
dmamon enc_devices libdmckpt.so libdmmsg.so libgdal.so
dmamon_ctl external_crypto_libs libdmclientlex.so libdmnci.so libgdal.so.30
dmap GCC_VERSION libdmcomm.so libdmnlssort.so libgeos_c.so
dmap_br GLIBC_VERSION libdmcpr.so libdmnsort.so libgeos_c.so.1
DmAPService jexe libdmcpt.so libdmoopi.so libgeos_c.so.1.16.1
dmasmcmd jobdts libdmcrypt.so libdmopt.so libgeos.so
dmasmcmdm libaws-c-auth.a libdmcssmon.so libdmos.so libgeos.so.3.10.3
dmasmmgt libaws-c-cal.a libdmcss.so libdmpara.so libjson-c.so
dmasmmgtm libaws-c-common.a libdmcti.so libdmp_disql_dll_java.so liblwgeom.so
dmasmsvr libaws-c-compression.a libdmcvt.so libdmp_dll.so libmlpack.so
dmasmsvrm libaws-c-event-stream.a libdmcyt.so libdmpif.so libmpfr.so
dmasmtool libaws-checksums.a libdmdbg.so libdmrac.so libmpfr.so.6
dmasmtoolm libaws-c-http.a libdmdci.so libdmraft.so libpgrouting.so
DmAuditMonitorService libaws-c-io.a libdmdcp.so libdmrarch.so libproj.so
dmaudtool libaws-c-mqtt.a libdmdcrm.so libdmreadline.so libproj.so.19
dmcss libaws-cpp-sdk-core.so libdmdcr.so libdmredo.so libraster.so
dmcssm libaws-cpp-sdk-s3.so libdmdct.so libdmregex.so libregex.so
dmctlcvt libaws-crt-cpp.a libdmde.so libdmrep.so libs3api.so
dmdata_cmp libaws-c-s3.a libdmdfi.so libdmrlog.so libSFCGAL.so
dmdbchk libaws-c-sdkutils.a libdmdfs.so libdmrman.so libSFCGAL.so.1
dmdbg libboost_atomic-mt-x64.so.1.79.0 libdmdpc_nts.so libdmrps.so libsnappy.so
dmdcrs libboost_chrono-mt-x64.so.1.79.0 libdmdpc.so libdmrs.so libSphericalIndex.so
dmdcs libboost_date_time-mt-x64.so.1.79.0 libdmdpi.so libdmrtree.so libsqlite3.so
dmdcstool libboost_serialization-mt-x64.so.1.79.0 libdmdrs.so libdmsbtex.so libsqlite3.so.0
dmdras libboost_system-mt-x64.so.1.79.0 libdmdta.so libdmsbtree.so libssl.so
dmdrs libboost_thread-mt-x64.so.1.79.0 libdmelog.so libdmsbts3.so libtiff.so
dmdss libCGAL_Core.so.11 libdmenet.so libdmsbt.so libxerces-c-3.1.so
dmdssinit libCGAL.so libdmexe.so libdmscp.so libxerces-c.so
dmfekey libCGAL.so.11 libdmfil.so libdmsess.so libxml2.so
dmfldr libcrypto.so libdmfldr_comm.so libdmshmm.so libxqilla.so
dmimon libcurl.so libdmfldr_dll_java.so libdmshm.so libxslt.so
dminit libcyt_java.so libdmfldr.so libdmshpldr.so libz.so
DmInstanceMonitorService libdisql_dll.so libdmgmssl.so libdmspatial.so OPENSSL_VERSION
dmjmon libdmamon.so libdmhfs.so libdmstg.so pids
DmJobMonitorService libdmapx.so libdmimon_dll_java.so libdmstrt.so proj.db
dmkey libdmasmapim.so libdmimon.so libdmsys.so proj.ini
dmlcvt libdmasmapi.so libdmjmon.so libdmtbl.so server_ssl
dmldrc libdmasmm.so libdmjob.so libdmtimer.so service_desc_list
dmldrp libdmasmparsem.so libdmjschdl.so libdmtlog.so service_template
dmldrpc libdmasmparse.so libdmjson.so libdmtrc.so shapefilelib.so
dmmdf libdmasm.so libdmknl.so libdmtrv.so spatial
dmmkstore libdmasvrm.so libdmldr.so libdmtrx.so svc_ctl_linux
dmmonitor libdmasvr.so libdmlic.so libdmtsql.so SYSWORD.UTF8.LIB
查看初始化帮助参数
[dmdba@oel bin]$ ./dminit help
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2025-03-21
version: 03134284172-20240321-222308-20093
格式: ./dminit KEYWORD=value
例程: ./dminit PATH=/public/dmdb/dmData PAGE_SIZE=16
关键字 说明(默认值)
--------------------------------------------------------------------------------
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 ~ 8G
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 页检查模式(3),可选值:0/1/2/3
PAGE_HASH_NAME 设置页检查HASH算法
EXTERNAL_CIPHER_NAME 设置默认加密算法
EXTERNAL_HASH_NAME 设置默认HASH算法
EXTERNAL_CRYPTO_NAME 设置根密钥加密引擎
RLOG_ENCRYPT_NAME 设置日志文件加密算法,若未设置,则不加密
RLOG_POSTFIX_NAME 设置日志文件后缀名,长度不超过10。默认为log,例如DAMENG01.log
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 分布式环境下协同工作的监听端口
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代替
USE_DB_NAME 路径是否拼接DB_NAME(1) 1:是 0:否
MAIN_DBF_PATH MAIN数据文件存放路径
SYSTEM_DBF_PATH SYSTEM数据文件存放路径
ROLL_DBF_PATH ROLL数据文件存放路径
TEMP_DBF_PATH TEMP数据文件存放路径
ENC_TYPE 数据库内部加解密使用的加密接口类型(1), 可选值: 1: 启用EVP类型 0: 不启用EVP类型
HELP 打印帮助信息
开始初始化数据库,我们按照默认参数初始化数据库,这里也可以根据需要指定初始化参数
[dmdba@oel bin]$ ./dminit path=/u01/dmdata/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMZZH INSTANCE_NAME=DBSERVER PORT_NUM=5236
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2025-03-21
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /u01/dmdata/data/DMZZH/DMZZH01.log
log file path: /u01/dmdata/data/DMZZH/DMZZH02.log
write to dir [/u01/dmdata/data/DMZZH].
create dm database success. 2024-06-24 17:19:02
到这里数据库就初始化完成。
7、命令行注册数据库服务,注意注册服务需要在root用户下进行
[root@oel ~]# cd /home/dmdba/dmdbms/script/root/
[root@oel root]# ll
total 44
-rwxr-xr-x. 1 dmdba dmdba 25373 Jun 24 17:09 dm_service_installer.sh
-rwxr-xr-x. 1 dmdba dmdba 9214 Jun 24 17:09 dm_service_uninstaller.sh
-rwxr-xr-x. 1 dmdba dmdba 490 Jun 24 17:09 root_installer.sh
[root@oel root]# ./dm_service_installer.sh -t dmserver -dm_ini /u01/dmdata/data/DMZZH/dm.ini -p DMZZH
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMZZH.service to /usr/lib/systemd/system/DmServiceDMZZH.service.
创建服务(DmServiceDMZZH)完成
最后启动数据库服务
[dmdba@oel bin]$ ./DmServiceDMZZH start
Starting DmServiceDMZZH: [ OK ]
[dmdba@oel bin]$
到此达梦数据库就可以正常使用了。