银河麒麟系统安装达梦数据库
如果是linux可以直接跳到3、下载
一、前言
原本刚部署完服务器,结果又开始信创了,进行适配政务云,支持国产化(国产数据库,国产中间件,国产系统,省略一大堆…)
银河麒麟和达梦好像都需要登录(注册很简单,不像国外的,一会就OK了,就不贴安装包什么的了)这里的下载地址是从官方截取的,不确定能抗多少时间,不行就直接登录下载。
二、确认与下载
1、查询cpu信息
lscpu
2、查询操作系统信息
文字太小就不框线了,这里可以看到系统是:linux,架构是:x86_64的
uname -a
3、下载
官方要求:
x86_rh7下载地址:https://download.dameng.com/eco/adapter/DM8/202410/dm8_20240920_x86_rh7_64.zip
三、安装前准备
1、创建安装用户组 dinstall。
groupadd dinstall
2、创建安装用户 dmdba
注意:这里的
/home/dmdba
可以替换为/dm8
,以后文章的目录都可以进行替换,本文默认使用/home/dmdba
如果此处自定义了参数,后续操作请按实际的自定义参数进行操作
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
命令词 | 解释 |
---|---|
useradd | 用于创建一个新的用户账户 |
-g dinstall | 这个选项指定了用户的主用户组(primary group)。dinstall 是用户组的名称,新创建的用户 dmdba 将会被添加到这个组中。这意味着 dmdba 用户的主用户组ID(GID)将被设置为 dinstall 组的GID。 |
-m | 这个选项指示 useradd 命令创建用户的主目录(如果它还不存在)。这是一个非常有用的选项,因为它可以自动为你设置用户的家目录。 |
-d /home/dmdba | 这个选项允许你指定用户的主目录(home directory)。在这个例子中,用户的主目录被设置为 /home/dmdba。这是用户登录后默认的目录,也是用户个人文件通常存放的地方。 |
-s /bin/bash | 这个选项指定了用户的登录shell。/bin/bash 是Linux系统中最常用的shell之一,它是一个功能强大的命令行解释器。这个选项确保了新用户在登录时将使用bash作为其默认的shell环境。 |
dmdba | 这是新创建的用户名。在这个例子中,新用户将被命名为 dmdba,这可能代表数据库管理员(Database Administrator)的缩写。 |
当使用
dmdbd
用户登录时,默认的目录就是刚才设置的/home/dmdba
如果时切换用户测试,su dmdbd
只是简单的基本切换,su - dmdba
就是类似一次登录的切换了。
3、初始化用户密码
passwd dmdba
4、查看操作系统限制
ulimit -a
在哪个用户权限下查看都一样,因为
在 Linux、Solaris、AIX 和 HP-UNIX 等系统中,操作系统默认会对程序使用资源进行限制。如果不取消对应的限制,则数据库的性能将会受到影响。
root用户 | dmdba用户 |
---|---|
![]() | ![]() |
参数 | 限制 |
---|---|
data seg size | 建议用户设置为 1048576(即 1GB)以上或 unlimited(无限制),此参数过小将导致数据库启动失败 |
file size | 建议用户设置为 unlimited(无限制),此参数过小将导致数据库安装或初始化失败 |
open files | 建议用户设置为 65536 以上或 unlimited(无限制) |
virtual memory | 建议用户设置为 1048576(即 1GB)以上或 unlimited(无限制),此参数过小将导致数据库启动失败。 |
5、修改文件打开最大数
注:需要使用 root 用户进行修改,不然会报错:
W10: Warning: Changing a readonly file
(只读文件无权修改)
vi /etc/security/limits.conf
输入
i
进入编辑模式,再末尾加上如下内容
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
修改参数需要重启服务器生效
reboot
切换到dmdba用户查看是否生效
su dmdba
ulimit -a
设置参数临时生效
ulimit -n 65536
ulimit -u 65536
6、创建目录
可根据实际需求规划安装目录,如果此处自定义了参数,后续操作请按实际的自定义参数进行操作
##实例保存目录
mkdir -p /dmdata/data
##归档保存目录
mkdir -p /dmdata/arch
##备份保存目录
mkdir -p /dmdata/dmbak
将新建的路径目录权限的用户修改为 dmdba,用户组修改为 dinstall
chown -R dmdba:dinstall /dmdata/data
chown -R dmdba:dinstall /dmdata/arch
chown -R dmdba:dinstall /dmdata/dmbak
给路径下的文件设置 755 权限
chmod -R 755 /dmdata/data
chmod -R 755 /dmdata/arch
chmod -R 755 /dmdata/dmbak
四、数据库安装
1、文件上传
将下载的
dm8_20240920_x86_rh7_64.zip
压缩包文件解压,会得到三个文件,将dm8_20240920_x86_rh7_64.iso
文件上传到服务器/opt
目录用于临时存放
这里文件已上传完成
2、挂载镜像
需要使用root用户进行挂载,
/mut
目录下用于临时挂载文件系统或存储设备
(也可以根据自己情况进行使用)
cd /opt
mount -o loop dm8_20240920_x86_rh7_64.iso /mnt
3、开始安装
需要切换到 dmdba 用户,,进入
/mnt
挂载目录进行安装
su dmdba
cd /mnt
执行安装命令
./DMInstall.bin -i
选项 | 选择 |
---|---|
语言 | 1简体中文 |
是否输入key文件路径 | n |
是否设置时区 | y |
设置时区 | 21中国标准时间(这里根据自己的需求进行填写) |
安装类型 | 1典型安装 |
安装目录 | 使用默认(这里根据自己需求进行填写,例如/dm8/dmdbms ,如果此处自定义了参数,后续操作请按实际的自定义参数进行操作) |
是否确认安装路径 | y |
是否确认安装 | y |
使用
root
用户创建DmAPService
,否则会影响数据库备份
su root
/home/dmdba/dmdbms/script/root/root_installer.sh
注:如果
四-3
的安装目录为/dm8/dmdbms
,则使用以下方案
/dm8/dmdbms/script/root/root_installer.sh
4、配置环境变量
使用dmdba用户编辑文件
su dmdba
vim .bash_profile
输入
i
进入编辑模式,再末尾加上如下内容
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
使环境变量生效
source .bash_profile
五、配置实例
1、初始化实例
使用dmdba用户进行操作
su dmdba
根据自己自己的实际进行切换
cd /home/dmdba/dmdbms/bin
使用 dminit 命令初始化实例
./dminit help
2、初始数据库存放的路径
官方建议:在实际使用中,初始化时建议提前设置好 COMPATIBLE_MODE 的参数值,便于更好的兼容其他数据库。参数说明:是否兼容其他数据库模式。0:不兼容,1:兼容 SQL92 标准,2:部分兼容 ORACLE,3:部分兼容 MS SQL SERVER,4:部分兼容 MYSQL,5:兼容 DM6,6:部分兼容 TERADATA,7:部分兼容 POSTGRES。
默认初始化
./dminit path=/dmdata/data
自定义初始化实例
以下命令设置页大小为 32 KB,簇大小为 32 KB,大小写敏感,字符集为 utf_8,数据库名为 DMNAME ,实例名为 DMSERVER ,端口为 5236
如果此处自定义了参数,后续操作请按实际的自定义参数进行操作
./dminit path=/dmdata/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMNAME INSTANCE_NAME=DMSERVER PORT_NUM=5236
六、注册服务
1、开始注册
使用
root
用户开始操作
su root
cd /home/dmdba/dmdbms/script/root/
./dm_service_installer.sh -t dmserver -dm_ini /dmdata/data/DMNAME/dm.ini -p DMSERVER
标志 | 参数 | 说明 |
---|---|---|
-t | 服务类型 | 注册服务类型,支持一下服务类型:dmap、dmamon、dmserver、dmwatcher、dmmonitor、dmasmsvr、dmasmsvrm、dmcss、dmcssm。 |
-dm_ini | INI 文件路径 | 指定服务所需要的 dm.ini 文件路径。 |
-p | 服务名后缀 指定服务名后缀,生成的操作系统服务名为“服务脚本模板名,称 + 服务名后缀”。此参数只针对 dmserver、dmwatcher、dmmonitor、dmasmsvr、dmasmsvrm、dmcss、dmcssm 服务脚本生效。 |
进入数据安装目录下 bin 目录中可以看到已经注册好的服务 DmServiceDMSERVER
cd /home/dmdba/dmdbms/bin
ls
2、启动、停止数据库
使用
dmdba
用户操作
cd /home/dmdba/dmdbms/bin
ls
操作 | 命令 | 图示 |
---|---|---|
运行数据库 | ./DmServiceDMSERVER start | ![]() |
停止数据库 | ./DmServiceDMSERVER stop | ![]() |
重启数据库 | ./DmServiceDMSERVER restart | ![]() |
查看数据库状态 | ./DmServiceDMSERVER status | ![]() |
前台运行 | ./dmserver /dmdata/data/DMNAME/dm.ini | ![]() |
3、验证连接
进入dmsql服务,进行连接。初始用户名:SYSDBA,密码:SYSDBA
cd /home/dmdba/dmdbms/bin
./disql
七、外部访问
1、防火墙
如果想让外部访问要么关闭防火墙,要么开放端口,测试的时候使用哪种都可以。
操作 | 命令 |
---|---|
查看防火墙状态 | systemctl status firewalld |
关闭防火墙 | systemctl stop firewalld |
开启防火墙 | systemctl start firewalld |
重启防火墙 | firewall-cmd --reload |
systemctl stop firewalld
systemctl status firewalld
执行关闭防火墙,查询防火墙状态,显示未激活
2、开放端口
操作 | 命令 |
---|---|
查询端口开放状态 | firewall-cmd --query-port=xxxx/tcp |
开放端口 | firewall-cmd --permanent --add-port=xxxx/tcp |
移除端口 | firewall-cmd --permanent --remove-port=xxxx/tcp |
这里进行开放端口(根据自己上方开放的端口进行填写,这里使用的是5236),开放完端口后需要重启防火墙才能生效
firewall-cmd --permanent --add-port=5236/tcp
firewall-cmd --reload
firewall-cmd --query-port=5236/tcp
3、对接数据库测试
数据库连接成功