1. 环境
1.1 操作系统
CentOS8.4最小化安装
# cat /etc/os-release
NAME="CentOS Linux"
VERSION="8"
# cat /etc/redhat-release
CentOS Linux release 8.4.2105
1.2 下载达梦
https://package.dameng.com/eco/adapter/DM8/202110/dm8_20211021_x86_rh6_64_ent.zip
2. 准备
2.1 关闭SELINUX
# setenforce 0
# vi /etc/selinux/config
修改SELINUX=disabled
2.2 上传达梦ISO
接下下载的达梦安装包,里面包含一个ISO文件,将其上传到CentOS的/tmp
路径下
2.3 调整YUM源
由于CentOS8已经在2021年12月31日停止维护,所以官方YUM已经无法使用,我们将其换成阿里源
# mkdir /etc/yum.repos.d/unuseable
# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/unuseable
# vi /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-8-stream - Base - mirrors.aliyun.com
baseurl=https://mirrors.aliyun.com/centos/8-stream/BaseOS/$basearch/os/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official#additional packages that may be useful
[extras]
name=CentOS-8-stream - Extras - mirrors.aliyun.com
baseurl=https://mirrors.aliyun.com/centos/8-stream/extras/$basearch/os/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-8-stream - Plus - mirrors.aliyun.com
baseurl=https://mirrors.aliyun.com/centos/8-stream/centosplus/$basearch/os/
gpgcheck=1
enabled=0
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official[PowerTools]
name=CentOS-8-stream - PowerTools - mirrors.aliyun.com
baseurl=https://mirrors.aliyun.com/centos/8-stream/PowerTools/$basearch/os/
gpgcheck=1
enabled=0
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official[AppStream]
name=CentOS-8-stream - AppStream - mirrors.aliyun.com
baseurl=https://mirrors.aliyun.com/centos/8-stream/AppStream/$basearch/os/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official
# yum clean all
# yum makecache
2.3 安装达梦所需图形类库
# yum install -y gtk2 libXtst xorg-x11-fonts-Type1
3. 安装
3.1 挂载ISO
# mount /tmp/dm8_20211021_x86_rh6_64_ent_8.1.2.84.iso /mnt
3.2 安装
# cd /mnt
# ./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 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:2
所需空间: 734M
请选择安装目录 [/opt/dmdbms]:/opt/dm
可用空间: 43G
是否确认安装路径(/opt/dm)? (Y/y:是 N/n:否) [Y/y]:Y
安装前小结
安装位置: /opt/dm
所需空间: 734M
可用空间: 43G
版本信息:
有效日期:
安装类型: 服务器
是否确认安装? (Y/y:是 N/n:否):Y
2022-02-24 16:57:02
[INFO] 安装达梦数据库...
2022-02-24 16:57:02
[INFO] 安装 基础 模块...
2022-02-24 16:57:09
[INFO] 安装 服务器 模块...
2022-02-24 16:57:11
[INFO] 安装 驱动 模块...
2022-02-24 16:57:15
[INFO] 安装 手册 模块...
2022-02-24 16:57:17
[INFO] 安装 服务 模块...
2022-02-24 16:57:19
[INFO] 移动日志文件。
2022-02-24 16:57:21
[INFO] 创建dmdba系统管理员完成。
2022-02-24 16:57:21
[INFO] 正在启动DmAPService服务...
2022-02-24 16:57:22
[INFO] 启动DmAPService服务成功。
2022-02-24 16:57:22
[INFO] 安装达梦数据库完成。安装结束
3.3 查看服务
# systemctl status DmAPService
3.4 开机启动
# systemctl enable DmAPService
4. 创建实例
# cd /opt/dm/bin
# ./dminit PATH=/opt/dm/data DB_NAME=YOUR_DB_NAME INSTANCE_NAME=YOUR_DB_INSTANCE_NAME SYSDBA_PWD=YOUR_PASSWORD PORT_NUM=YOUR_PORT
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2022-10-21
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLLlog file path: /opt/dm/data/YOUR_DB_NAME/YOUR_DB_NAME01.log
log file path: /opt/dm/data/YOUR_DB_NAME/YOUR_DB_NAME02.log
write to dir [/opt/dm/data/YOUR_DB_NAME].
create dm database success. 2022-02-24 17:03:04
说明:
YOUR_DB_NAME
:数据库名称,替换成你想要的名字YOUR_DB_INSTANCE_NAME
:数据库实例名称,替换成你想要的名字YOUR_PASSWORD
:SYSDBA
的密码,替换成你想要的密码YOUR_PORT
:替换成你想要的端口
5. 将实例添加到服务
# cd /opt/dm/script/root
# ./dm_service_installer.sh -t dmserver -dm_ini /opt/dm/data/YOUR_DB_NAME/dm.ini -p YOUR_SUFFIX
Created symlink /etc/systemd/system/multi-user.target.wants/DmServiceYOUR_SUFFIX.service → /usr/lib/systemd/system/DmServiceYOUR_SUFFIX.service.
创建服务(DmServiceYOUR_SUFFIX)完成
# systemctl start DmServiceYOUR_SUFFIX
# systemctl enable DmServiceYOUR_SUFFIX
# systemctl status DmServiceYOUR_SUFFIX
说明:
YOUR_DB_NAME
:和上一步中的YOUR_DB_NAME
保持一致YOUR_SUFFIX
:服务后缀,最终生成的服务名为DmServiceYOUR_SUFFIX
6 关闭防火墙或开放端口
关闭防火墙
# systemctl stop firewalld && systemctl disable firewalld
开放端口,默认为5236
端口,如果你上面定义了YOUR_PORT
则需要改成你自己的端口
# firewall-cmd --zone=public --add-port=5236/tcp --permanent
# firewall-cmd --reload
7. 用IDEA访问达梦
6.1 拷贝JDBC驱动
/opt/dm/drivers/jdbc
目录下包含达梦的JDBC
驱动:
DmJdbcDriver16
对应 Jdk1.6 及以上环境DmJdbcDriver17
对应 Jdk1.7 及以上环境DmJdbcDriver18
对应 Jdk1.8 及以上环境
更多信息请查看# cat /opt/dm/drivers/jdbc/readme.txt
根据IDEA使用的JDK版本将对应的JDBC驱动拷贝到任意目录
6.2 为IDEA添加数据库驱动
8. 创建表空间、用户
-- 查询版本
SELECT * FROM v$version;
-- 查询表空间
SELECT * FROM DBA_TABLESPACES;
-- 创建表空间
CREATE TABLESPACE YOUR_TABLESPACE_NAME DATAFILE 'YOUR_FILE_NAME.DBF' SIZE 300;
-- 查询用户
SELECT * FROM DBA_USERS;
-- 创建用户
CREATE USER YOUR_USER_NAME IDENTIFIED BY "YOUR_PASS_WORD" DEFAULT TABLESPACE YOUR_TABLESPACE_NAME DEFAULT INDEX TABLESPACE YOUR_TABLESPACE_NAME;
-- 授权用户
GRANT RESOURCE TO YOUR_USER_NAME;
说明:
YOUR_TABLESPACE_NAME
:表空间名称,替换成你想要的名字YOUR_FILE_NAME
:表空间文件名称,替换成你想要的名字YOUR_USER_NAME
:用户名,替换成你想要的名字YOUR_PASS_WORD
:密码,替换成你想要的密码RESOURCE
:角色DBA
: 数据库系统中对象与数据操作的最高权限集合,拥有构建数据库的全部特权,只有 DBA 才可以创建数据库结构RESOURCE
:可以创建数据库对象,对有权限的数据库对象进行数据操纵,不可以创建数据库结构PUBLIC
:不可以创建数据库对象,只能对有权限的数据库对象进行数据操纵
9. 再次用IDEA访问达梦
说明:
YOUR_USER_NAME
:上一步中的YOUR_USER_NAME
YOUR_PASS_WORD
:上一步中的YOUR_PASS_WORD
尝试建表、CRUD、删表
-- 创建表
CREATE TABLE TEST (ID INT IDENTITY, DESCRITION VARCHAR(20));
-- 插入数据
INSERT INTO TEST(DESCRITION) VALUES ('TEST');
-- 查询数据
SELECT * FROM TEST;
-- 修改数据
UPDATE TEST SET DESCRITION = 'NEW TEST' WHERE ID = 1;
-- 删除数据
DELETE FROM TEST WHERE ID = 1;
-- 删除表
DROP TABLE TEST;