达梦数据库教程(1)通过命令行方式安装达梦V8

TangLu 达梦 2024-11-18 126 0

达梦数据库最大的特点之一就是从安装到使用都可以完全使用图形化完成,但是线上操作系统可能大多数并没有配置图形化界面,所以在安装阶段使用命令行也是更通用、快捷的方法。


一、初始化系统环境

1.1 创建达梦用户和组

groupadd dinstall -g 2001
useradd  -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba
passwd dmdba


1.2 创建目录

非必需,根据实际情况调整

#实例保存目录
mkdir -p /dmdata/data 

#归档保存目录
mkdir -p /dmdata/arch

#备份保存目录
mkdir -p /dmdata/dmbak

mkdir -p /dmdata/dmtmp

chown -R dmdba:dinstall /dmdata/data
chown -R dmdba:dinstall /dmdata/arch
chown -R dmdba:dinstall /dmdata/dmbak
chown -R dmdba:dinstall /dmdata/dmtmp

chmod -R 755 /dmdata/data
chmod -R 755 /dmdata/arch
chmod -R 755 /dmdata/dmbak
chmod -R 755 /dmdata/dmtmp

# mkdir /data/dmdbms -p
# chown -R dmdba. /data/dmdbms/


1.3 修改文件打开最大数

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

#切换用户验证配置
su - dmdba
ulimit -a


1.4 修改文件描述符

ulimit -n 65536
sed  '/# End of file/i * soft nofile 65536\n* hard nofile 65536' /etc/security/limits.conf


1.5 确保临时目录空间可用

达梦数据库在安装过程中会用到/tmp临时目录,要求至少有2G的临时空间。如果在系统初始化时没有预留充足的空间,那么需要调整环境变量DM_INSTALL_TMPDIR的值,将临时目录指向到其他地方

export DM_INSTALL_TMPDIR=/dmdata/dmtmp


二、安装达梦数据库

安装程序通常属于一次性操作,安装好之后使用初始化工具进行实例创建操作

2.1 镜像挂载

mount -o loop /usr/local/src/dm8_20240408_x86_rh7_64.iso /mnt


2.2 数据库安装

切换到dmdba账户后运行安装脚本,-i选项表示命令行方式安装,不需要图形化支持

su  - dmdba
/mnt/DMInstall.bin -i


2.3 启动DMAP服务

使用root运行脚本以启动DmAPService服务(监听4236端口),达梦相关功能会依赖DmAP服务,所以一定要先保证该服务的正常运行

/data/dmdbms/script/root/root_installer.sh


三、实例初始化与服务注册

达梦没有mysql中database的概念,而是通过schema(模式)来进行业务的区分

3.1 实例初始化

通过./dminit脚本可以在命令行下创建实例并完成初始化,使用该脚本可以在一台服务器上创建多个不同的实例。脚本的详细参数可以通过help查看(通过图形化方式创建实例是使用DMCA.sh脚本,图形化创建后会自动注册服务)

su - dmdba 
/data/dmdbms/bin/dminit PATH=/data/dmdbms/ PORT_NUM=5236 INSTANCE_NAME=TEST DB_NAME=TEST_DB PAGE_SIZE=16 LOG_SIZE=1024


./dminit help
# INI_FILE                   初始化文件dm.ini存放的路径,如果没有指定,默认是在DB_NAME同名目录下
# 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
# RLOG_POSTFIX_NAME          设置日志文件后缀名,长度不超过10。默认为log,例如DAMENG01.log
# BLANK_PAD_MODE             设置空格填充模式(0),可选值:0/1
# SYSTEM_MIRROR_PATH         SYSTEM数据文件镜像路径
# CONTROL                    初始化配置文件(配置文件格式见系统管理员手册)
# AUTO_OVERWRITE             是否覆盖所有同名文件(0) 0:不覆盖 1:部分覆盖 2:完全覆盖
# ELOG_PATH                  指定初始化过程中生成的日志文件所在路径
# AP_PORT_NUM                分布式环境下协同工作的监听端口
# HUGE_WITH_DELTA            是否仅支持创建事务型HUGE表(1) 1:是 0:否
# RLOG_GEN_FOR_HUGE          是否生成HUGE表REDO日志(1) 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代替
# MAIN_DBF_PATH              MAIN数据文件存放路径
# SYSTEM_DBF_PATH            SYSTEM数据文件存放路径
# ROLL_DBF_PATH              ROLL数据文件存放路径
# TEMP_DBF_PATH              TEMP数据文件存放路径


3.2 服务注册与启动

使用root运行dm_serivice_instaler.sh脚本可以将数据库实例注册为系统服务,并创建启动脚本(启停脚本命名格式为DmService+实例名,如DmServiceTESTDB),方便对数据库实例进行启停操作

#./dm_serivice_installer.sh -h 查看脚本支持选项
#./dm_serivice_installer.sh -t [服务类型,如dmserver] -dm_ini [配置文件路径,初始化完成后默认是在数据目录中]  -p [对应INSTANCE_NAME]

#root执行
/data/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /data/dmdbms/TEST_DB/dm.ini -p TEST_DB

#启动数据库服务后默认监听5236端口
systemctl start DmServiceTEST_DB


如果没有注册服务,也可以通过命令行进行管理

./dmdata/bin/DmServiceDMSERVER start | stop #DmServiceDMSERVER需要修改为实际的实例名,可以进入目录查找确定


3.3 连接测试

su - dmdba
./disql SYSDBA/SYSDBA
./disql

#使用ip地址和端口连接
./disql SYSDBA/SYSDBA@192.168.1.100:5236 

#使用server name方式连接,server name需要先配置在/etc/dm_svc.conf
./disql SYSDBA/SYSDBA@TEST_DB

cat dm_svc.conf 
TIME_ZONE=(480)
LANGUAGE=(CN)
TEST_DB=(192.168.254.100:5236)




评论