达梦数据库的安装
*仅适用于LINUX安装
在搭建客户的开发环境、测试环境,数据库多为实施自行安装,并没有太大的要求,只需要注意一些参数,到时候与生产环境保持一致即可。生产环境,会与客户沟通达梦数据库的参数,比如:页大小、簇大小、字符集、大小写敏感等一些需要在注册实例时就配置的参数。
在上一文章《实施部署-信创项目环境搭建准备(一)》已经沟通过参数了,这篇总结达梦数据库的安装和初始化实例的步骤。
先贴个达梦官网技术文档地址:(步骤都可以在这里找到的)
https://eco.dameng.com/document/dm/zh-cn/start/dm-install-linux.html
1 新建DMDBA用户
进入Linux服务器,用root
用户创建:
1
2
3
4
5
6
|
# 创建用户组
groupadd dinstall
# 创建用户
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
# 修改用户密码
passwd dmdba
|
2 修改文件打开最大数
1
2
3
4
5
6
7
|
vi /etc/security/limits.conf
# 在conf文件内容的最后添加
dmdba hard nofile 65536
dmdba soft nofile 65536
dmdba hard stack 32768
dmdba soft stack 16384
# :wq 保存
|
修改后切换到dmdba
用户查看是否生效
3 创建数据库安装目录
1
2
3
4
5
6
7
|
# 创建目录
cd /home
mkdir dm
# 修改目录所属主、所属组
chown dmdba:dinstall -R dm
# 给目录授权
chmod -R 755 dm
|
4 挂载达梦镜像
将达梦数据库安装包.iso
文件上传到数据库服务器上的任意位置,例如:
1
2
3
4
5
6
|
# 创建挂载目录
mkdir /mnt
# 给执行权限
chmod 755 达梦数据库安装包.iso
# 挂载
mount -o loop /home/dmdba/dm8_20230713_FTarm_kylin10_sp1_64_include_symbols.iso /mnt
|
5 安装数据库
1
2
3
4
5
6
|
# 切换创建好的达梦数据库用户
su - dmdba
# 进入挂载目录
cd /mnt
# 安装
./DMInstall.bin -i
|
步骤如图:(其中安装目录选择创建的达梦数据库安装目录)
显示安装结束后,切换到root用户
1
2
3
|
su - root
# 执行
/home/dm/script/root/root_install.sh
|
6 注册实例
说明:
达梦数据库页大小、簇大小、大小写敏感、字符集都为注册实例时需要配置的,这些参数一经注册后不能修改,除非重新注册实例或者重装数据库。参数在《实施部署-信创项目环境搭建准备(一)》已经做了总结。
6.1 使用默认参数注册
1
2
3
4
5
6
7
|
# 切换到dmdba用户
su - dmdba
# 进入dm/bin目录
cd /home/dm/bin
# 执行初始化命令
./dminit path=/home/dm/data
# 类似下图
|
1
2
3
4
5
6
7
8
9
10
|
# 切换root用户
su - root
# 进入相关目录
cd /home/dm/script/root
# 执行注册服务命令
./dm_service_installer.sh -t dmserver -dm_ini /dm/data/DAMENG/dm.ini -p DMSERVER
# -t dmserver 就是达梦自己的server服务
# -p DMSERVER 这个就是数据库服务的名称,执行上边命令就是生成了 DmServiceDMSERVER 的命令
# 如果 -p DMtest 就会生成 DmServiceDMtest 的命令
# 类似下图
|
这个操作将生成 dm.ini
配置文件,实例注册到哪个目录,配置文件就在哪个目录
6.2 使用自定义参数注册
步骤与 6.1 相同,不同的步骤只有一个,在执行初始化命令时,需要在后边接上需要设置的页大小、簇大小、字符集、大小写敏感等等相关参数
1
2
3
4
5
6
7
8
9
10
11
|
# 参考
./dminit path=/home/dm/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=0 DB_NAME=DMDB INSTANCE_NAME=DmDBSERVER PORT_NUM=5236
# 实例的路径 path=
# 页大小 PAGE_SIZE
# 簇大小 EXTENT_SIZE
# 大小写敏感 CASE_SENSITIVE
# 字符集 CHARSET
# 数据库名 DB_NAME 也就是达梦数据文件的目录名称
# 实例名 INSTANCE_NAME
# 端口 PORT_NUM
|
6.3 删除实例
如果在注册实例时,已经执行了初始化命令./dminit
,已经生成了实例的数据文件了,这时候想删除这个实例怎么办?
进入到达梦的 ../script/root
目录下,执行 ./dm_service_uninstaller.sh
命令,来删除这个实例
必须使用 root
用户,先把数据库服务先关掉
./dm_service_uninstaller.sh -n DmServiceDMSERVER
这里的实例名,主要是看 bin 目录中是用哪个命令来启动的,这个命令通常就是这个服务的名称
1
2
3
4
5
6
7
8
|
[root@learning home]# cd /home/dmdba/dmdbms/script/root/
[root@learning root]# ls
dm_service_installer.sh dm_service_uninstaller.sh root_installer.sh
[root@learning root]# ./dm_service_uninstaller.sh -help
Usage: dm_service_uninstaller.sh [-n service_name]
-n 服务名,删除指定服务
-h 帮助
[root@learning root]# ./dm_service_uninstaller.sh -n DmServiceDMSERVER
|
然后把对应的实例数据目录删除即可
7 可选参数配置
具体见《实施部署-信创项目环境搭建准备(一)》的1.4.2步骤
8 替换dm.key
替换为正式的dm.key,可直接上传正式的key到dm/bin目录直接替换
或者上传任意目录,使用cp命令替换
9 启动数据库
开发、测试环境启动
1
2
|
# 启动数据库服务
systemctl start DmServiceDMSERVER.service
|
生产上,一般会安装达梦的监控守护模式
1
2
3
|
cd /home/dm/bin
DmServiceDM start
DmWatcherServiceDM start
|
1
2
3
4
5
6
7
8
9
10
|
# 开发、测试环境
# 停止
systemctl stop DmServiceDMSERVER.service
# 重启
systemctl restart DmServiceDMSERVER.service
# 生产环境
DmWatcherServiceDM stop # 先停监控
DmServiceDM restart
DmWatcherServiceDM start
|
达梦集群守护
达梦集群守护是生产上才使用的,一般由DBA操作。
生产环境采用双活形式部署,应用服务器上使用达梦数据库连接服务名进行连接。达梦在安装完成时会在数据库服务器上生产/etc/dm_svc.conf 文件,可以在该文件中进行添加配置,同时需要在应用服务器上【/etc/dm_svc.conf】文件(此文件为新增)中配置:
1
2
3
4
5
6
7
8
|
TIME_ZONE=(480)
LANGUAGE=(cn)
GRP1=(192.168.xxx.1:5236,192.168.xxx.2:5236)
[GRP1]
TIME+ZONE=(+480)
LOGIN_MODE=(1)
SWITCH_TIME=(3)
SWITCH_INTERVAL=(200)
|
配置说明如下:
LOGIN_MODE |
服务名方式登录,始终会优先登录主库; |
LOGIN_MODE |
表示是否仅登录主库或者备库,可以配置为 0、1 或 2。2表示不登录 Standby 模式的库,如果系统中只有 Standby 模式的库,登录失败并报错。 |
SWITCH_TIME |
检测到数据库实例故障时,接口在服务器之间切换的次数;超过设置次数没有连接到有效数据库时,断开连接并报错。 |
SWITCH_INTERVAL |
表示在服务器之间切换的时间间隔,单位为毫秒。 |