centos 安装达梦数据库

一、环境准备

1.1、确认操作系统的版本和数据库的版本是否一致

## 查看系统版本:cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

1.2、关闭防火墙和Selinux

# 查看selinux是不是disabled / enforce
cat /etc/selinux/config

## 查看防火墙状态
firewall-cmd --state
systemctl status firewalld

## 关闭
systemctl stop firewalld

1.3、修改文件limit

#查看原来的limit
ulimit -a

#修改limit配置文件
vim /etc/security/limits.conf 
#按G进入尾行,添加下列两条数据
dmdba	soft 	nofile	4096
dmdba	hard	nofile	65536
#按esc,:wq退出

1.4、调整内存分配策略

编辑 /etc/sysctl.conf 文件以调整内存分配策略:
# 编辑 sysctl.conf 文件
vim /etc/sysctl.conf

# 在文件中添加以下行
vm.overcommit_memory = 0

# 使配置生效
sysctl -p

1.5、创建达梦用户

#创建组
groupadd dinstall
#创建用户同时指定组
useradd -g dinstall dmdba
#设置密码
passwd dmdba          #回车后设置密码;

## 账号密码
dmdba
luoan@123

1.6、创建目录存放安装的数据库

#在根路径,创建文件夹dm
mkdir -p /data/dm
#给该目录赋权限和修改权限
chown -R dmdba:dinstall /data/dm/
chmod -R 775 /data/dm/

在/dm目录下创建文件夹iso,用来挂载iso文件
mkdir /data/dm/iso

1.7、下载达梦数据库安装包

下载地址:https://www.dameng.com/list_103.html

二、安装数据库

2.1、下载的压缩包(dm8_20240712_x86_rh7_64.zip)上传到服务器

2.2、解压缩文件到

#解压缩
unzip dm8_20240712_x86_rh7_64.zip

#挂载
mount /data/dm8_20230418_x86_rh6_64.iso /data/dm/iso/

#复制DMInstall.bin到/dm/内
cp /data/dm/iso/DMInstall.bin /data/dm/

cd /data/dm

#修改权限和用户所有者
chown dmdba:dinstall DMInstall.bin

2.3、安装(切换到dmdba用户)

#退出当前用户登录,使用dmdba用户登录
su dmdba
#进入/dm文件夹内,执行安装
cd /data/dm
./DMInstall.bin -i

需要注意的是 ./DMInstall.bin 默认开始图形化界面安装,我们这里采用 -i 命令行安装

2.4、安装过程

[dmdba@host-10-216-118-79 dm]$ ./DMInstall.bin -i
请选择安装语言(C/c:中文 E/e:英文) [C/c]:c

是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n
是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
请选择设置时区 [21]:21
请选择安装类型的数字序号 [1 典型安装]:1
请选择安装目录 [/home/dmdba/dmdbms]:/data/dm/dmdbms
是否确认安装路径(/data/dm/dmdbms)? (Y/y:是 N/n:否)  [Y/y]:y
是否确认安装? (Y/y:是 N/n:否):y

2.5、安装完成,通过脚本进行配置(切换到root用户)

切换用户
su root

执行脚本
/data/dm/dmdbms/script/root/root_installer.sh

echo "移动 /data/dm/dmdbms/bin/dm_svc.conf 到/etc目录"
echo "创建DmAPService服务"
echo "启动DmAPService服务"

2.6、配置实例

cd /data/dm/dmdbms/bin

./dminit path=/data/dm/data PAGE_SIZE=32 LOG_SIZE=2048 CHARSET=0 CASE_SENSITIVE=Y

2.7、注册服务

cd /data/dm/dmdbms/script/root

/data/dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /data/dm/data/DAMENG/dm.ini -p DMSERVER

2.8、达梦数据库服务启停

/data/dm/dmdbms/bin/DmServiceDMSERVER start

/data/dm/dmdbms/bin/DmServiceDMSERVER stop

2.9、数据库使用(默认账户/密码:SYSDBA/SYSDBA)

## 但由于我们改过默认5236端口,需要换成以下命令进入
cd /data/dm/dmdbms/tool
./disql
conn SYSDBA/SYSDBA:5237

## 执行SQL:
查看达梦数据库过期时间,查看到过期时间为:2024-04-17,也就是半年
SELECT EXPIRED_DATE FROM V$LICENSE;

输出:
服务器[127.0.0.1:5237]:处于普通打开状态
登录使用时间 : 3.246(ms)
disql V8
SELECT EXPIRED_DATE FROM V$LICENSE;

行号     EXPIRED_DATE
---------- ------------
1          2024-04-17

已用时间: 0.802(毫秒). 执行号:601.

3.0、达梦数据库激活

达梦激活方式:
1.复制 dm.key 文件到安装目录 /bin 目录下
2.修改 dm.key 文件权限
chown -R dmdba.dinstall 安装目录 /bin/dm.key
3.打开数据库工具,新建查询,输入
sp_load_lic_info()
4.查询授权是否生效
SELECT EXPIRED_DATE FROM V$LICENSE;

3.1、参考

官网-达梦数据库安装教程
https://eco.dameng.com/document/dm/zh-cn/start/dm-install-linux.html
官网-达梦数据库下载
https://www.dameng.com/list_103.html
官网-安装问题汇总
https://eco.dameng.com/document/dm/zh-cn/faq/faq-dm-install.html
CentOS 7 安装达梦数据库
https://blog.csdn.net/qq_45659753/article/details/127882932

3.2、可视化工具使用-SQLynx

安装包地址:SQLynx下载

参考地址:关于idea连接达梦(Dm)数据库及可视化工具的使用_idea连接dm数据库-CSDN博客

三、兼容Mysql配置

用group by查询时报错:select报错:不是 GROUP BY 表达式,这是因为没有兼容mysql,需要修改COMPATIBLE_MODE参数,改为4

COMPATIBLE_MODE参数解释
0: 不兼容
1: 兼容 SQL92 标准
2: 部分兼容 ORACLE
3: 部分兼容 MS SQL SERVER
4: 部分兼容 MYSQL
5: 兼容 DM6
6: 部分兼容 TERADATA

方法二:修改dm.ini参数GROUP_OPT_FLAG=1,动态,会话级参数,不用重启数据库

sp_set_para_value(1,'GROUP_OPT_FLAG',1);

1

方法三:配置兼容参数,COMPATIBLE_MODE=4,静态参数,重启数据库后生效

sp_set_para_value(2,'COMPATIBLE_MODE',4);

相关推荐
soulteary1 分钟前
突破内存限制:Mac Mini M2 服务器化实践指南
运维·服务器·redis·macos·arm·pika
我们的五年9 分钟前
【Linux课程学习】:进程程序替换,execl,execv,execlp,execvp,execve,execle,execvpe函数
linux·c++·学习
IT果果日记31 分钟前
ubuntu 安装 conda
linux·ubuntu·conda
Python私教33 分钟前
ubuntu搭建k8s环境详细教程
linux·ubuntu·kubernetes
羑悻的小杀马特1 小时前
环境变量简介
linux
小陈phd1 小时前
Vscode LinuxC++环境配置
linux·c++·vscode
运维&陈同学1 小时前
【zookeeper01】消息队列与微服务之zookeeper工作原理
运维·分布式·微服务·zookeeper·云原生·架构·消息队列
是阿建吖!1 小时前
【Linux】进程状态
linux·运维
明明跟你说过2 小时前
Linux中的【tcpdump】:深入介绍与实战使用
linux·运维·测试工具·tcpdump
Komorebi.py3 小时前
【Linux】-学习笔记05
linux·笔记·学习