达梦数据库centos7安装图文详细
达梦数据库centos7安装
达梦数据库产品下载页面:
达梦产品下载页面
下载rh7开发版即可
我这里下载的是dm8_20201112_x86_rh7_64_ent_8.1.1.144.iso版本
这里再放一个达梦云适配中心链接,里面的文档模块有很多官方教程,社区模块也可以查询或者提出各类使用问题
达梦云适配中心
准备工作
安装软件镜像:
dm8_20201112_x86_rh7_64_ent_8.1.1.144.iso
本文环境:
Virtualbox 5.2.44
CentOS Linux release 7.9.2009 (Core)
Xshell 5 + Xftp 5
安装软件
1.新建dmdba用户给达梦数据库使用(据官方不建议使用root用户进行数据库安装和运行)
groupadd dinstall
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
2.修改资源限制
在/etc/security/limits.conf文件最后加上如下内容
dmdba hard nofile 65536 #dmdba用户可以打开的最大的文件描述符数量,默认1024,这里的数值会限制tcp连接
dmdba soft nofile 65536
dmdba hard stack 32768 #堆栈大小
dmdba soft stack 16384
保存后,切换为dmdba用户,查看是否生效su - dmdba
ulimit -a
3.修改内核参数(对环境要求不高可以略过此步骤)
在/etc/sysctl.conf文件最后加上如下内容(数值仅供参考,解释内容为网上搜集)
fs.file-max = 6815744 #系统所有进程可以打开的文件句柄的最大数量
fs.aio-max-nr = 1048576 #同时可以拥有的的异步IO请求数目
kernel.shmmni = 4096 #系统范围内共享内存段的最大数量
kernel.sem = 250 32000 100 128 #表示设置的信号量
net.ipv4.ip_local_port_range = 9000 65500 #用户进程通信时分配给用户的端口区间
net.core.rmem_default = 4194304 #默认接收缓冲区大小
net.core.rmem_max = 4194304 #接收缓冲区最大值
net.core.wmem_default = 262144 #默认的发送缓冲区大小
net.core.wmem_max = 1048576 #发送缓冲区最大值
vm.swappiness = 0 #表示最大限度使用物理内存,然后才是 swap空间
vm.dirty_background_ratio = 3 #内存可以填充脏数据的百分比。这些脏数据稍后会写入磁盘
vm.dirty_ratio = 80 #可以用脏数据填充的绝对最大系统内存量,当系统到达此点时,必须将所有脏数据提交到磁盘,同时所有新的I/O块都会被阻塞,直到脏数据被写入磁盘
vm.dirty_expire_centisecs = 500 #指定脏数据能存活的时间ms
vm.dirty_writeback_centisecs = 100 #指定多长时间 pdflush/flush/kdmflush 这些进程会唤醒一次,然后检查是否有缓存需要清理。
保存后,执行sysctl -p命令生效
4.挂载安装软件镜像,创建软件安装目录,执行安装文件
mount dm8_20201107_x86_rh7_64_ent_8.1.1.144.iso /mnt
创建软件安装目录dm8,且修改目录所属用户为dmdba用户
mkdir /dm8
chown -R dmdba.dinstall /dm8
切换dmdba用户,进入挂载目录执行安装文件
su - dmdba
cd /mnt
./DMInstall.bin -i
安装语言选择中文,输入c,回车
提示是否输入Key文件路径,因为我们是开发版,不需要Key,所以输入N
是否设置时区,输入Y,回车
再输入21,回车
安装类型输入1,典型安装
安装目录输入我们刚刚创建的目录 /dm8
后面连续输入y确认即可
安装结束,切换回root用户,执行命令安装dmap服务,该服务关系数据库备份
/dm8/script/root/root_installer.sh
至此软件安装完成
创建数据库实例
1.创建数据库实例存放目录
su - dmdba
mkdir /dm8/data
2.使用dminit工具初始化数据库实例
输入./dminit help,可以查看相关参数介绍
数据库初始化主要注意两个参数,一旦初始化后就无法修改的
一个是字符集参数CHARSET(可选值:0[GB18030],1[UTF-8],2[EUC-KR])
另一个是大小写是否敏感CASE_SENSITIVE (可选值:Y/N,1/0)
本文这里初始化参数是如下,可以根据需要选择配置参数,如果不配置则为默认参数值
SYSDBA_PWD=Dameng111 (设置系统用户SYSDBA密码)
path=/dm8/data (数据库实例目录)
PAGE_SIZE=32 (页大小32K)
LOG_SIZE=2048 (联机日志文件大小,测试开发环境可以调小点,但过小会导致日志频繁切换,影响性能,一般建议2048)
CASE_SENSITIVE=N (大小写不敏感)
CHARSET=1 (字符集为utf-8)
PORT_NUM=5236 (数据库监听端口)
DB_NAME=DAMENG (数据库名)
INSTANCE_NAME=DMSERVER (数据库实例名)
EXTENT_SIZE=16 (簇大小)
BLANK_PAD_MODE=0 (设置字符串比较时,结尾空格填充模式 是否兼容 ORACLE 取值 0 或 1。0 不兼容,1 兼容。默认为 0)
LENGTH_IN_CHAR=1(VARCHAR 类型对象的长度是否以字符为单位,1为是;0则为否,以字节为单位)
使用dmdba用户执行,参数间以空格间开
cd /dm8/bin
./dminit path=/dm8/data SYSDBA_PWD=Dameng111 PAGE_SIZE=32 LOG_SIZE=2048 CASE_SENSITIVE=Y CHARSET=1 PORT_NUM=5236 DB_NAME=DAMENG INSTANCE_NAME=DMSERVER EXTENT_SIZE=16 BLANK_PAD_MODE=0 LENGTH_IN_CHAR=1
3.前台启动一次数据库
使用dmdba用户执行
cd /dm8/bin
./dmserver /dm8/data/DAMENG/dm.ini
加载一会出现SYSTEM IS READY 提示实例启动成功
输入exit退出前台启动
4.关闭防火墙(也可以 把5236端口加入防火墙)
root用户执行
systemctl stop firewalld
5.注册数据库实例服务
执行./dm_service_installer.sh help可以查看脚本参数介绍
这里-t参数是服务类型,-p为服务名后缀,-dm_ini是数据库实例配置文件
-m表示启动实例状态
root用户执行
cd /dm8/script/root/
./dm_service_installer.sh -t dmserver -p DAMENG -dm_ini /dm8/data/DAMENG/dm.ini -m open
创建成功后启动数据库实例服务
systemctl start DmServiceDAMENG
ps -ef |grep dmserver
连接使用数据库
1.使用disql工具连接数据库
使用dmdba用户执行
cd /dm8/bin
./disql SYSDBA/Dameng111@localhost:5236
2.客户端主机使用达梦管理工具连接数据库
我这里客户端是windows7 物理机,数据库在虚拟机,网络通信正常情况下,可以使用达梦管理工具连接数据库。(windows安装达梦工具可以参考达梦数据库DM8windows环境安装(图文详情))
8.应用程序开发数据库连接(参考达梦云适配中心-应用程序开发手册)
达梦云适配中心-应用程序开发手册
里面有详细的各开发配置步骤
关闭数据库实例服务和DMAP服务
root用户执行
systemctl stop DmServiceDAMENG
systemctl stop DmAPService
需要重新启动,则以上命令用start即可