Java,  Linux,  中标麒麟

中标麒麟系统安装测试使用达梦数据库

零 说明

本文档用于记录,在中标麒麟OS上安装配置达梦DM8数据库的流程和操作步骤。

一 下载、解压、挂载安装介质

上达梦官网https://www.dameng.com/DM8.html,选择试用,获取安装介质:

wget https://download.dameng.com/eco/adapter/DM8/202304/dm8_20230418_x86_rh6_64.zip
unzip dm8_20230418_x86_rh6_64.zip
mount -o loop dm8_20230418_x86_rh6_64.iso /mnt/
​
[root@kylindbserver223 ~]# wget https://download.dameng.com/eco/adapter/DM8/202304/dm8_20230418_x86_rh6_64.zip
--2023-05-16 14:25:14--  https://download.dameng.com/eco/adapter/DM8/202304/dm8_20230418_x86_rh6_64.zip
Resolving download.dameng.com (download.dameng.com)... 218.67.91.89, 218.67.91.82, 222.79.112.34, ...
Connecting to download.dameng.com (download.dameng.com)|218.67.91.89|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1082623788 (1.0G) [application/zip]
Saving to: 'dm8_20230418_x86_rh6_64.zip'
​
dm8_20230418_x86_rh6_64.zip                          100%[=====================================================================================================================>]   1.01G  1.05MB/s    in 17m 7s   
​
2023-05-16 14:42:26 (1.01 MB/s) - 'dm8_20230418_x86_rh6_64.zip' saved [1082623788/1082623788]
​
[root@kylindbserver223 ~]# unzip dm8_20230418_x86_rh6_64.zip 
Archive:  dm8_20230418_x86_rh6_64.zip
  inflating: dm8_20230418_x86_rh6_64.iso_SHA256.txt  
  inflating: dm8_20230418_x86_rh6_64.iso  
[root@kylindbserver223 ~]# mount -o loop dm8_20230418_x86_rh6_64.iso /mnt/
mount: /mnt: WARNING: device write-protected, mounted read-only.
[root@kylindbserver223 ~]# 

二 创建用户、用户组,设置用户资源限制和权限

groupadd dinstall
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
echo 'dmdba'|passwd --stdin dmdba
​
cat <<EOF >> /etc/security/limits.conf
dmdba hard nofile 65536
dmdba soft nofile 65536
dmdba hard stack 32768
dmdba soft stack 16384
EOF
​
mkdir -p /dm8 
chown dmdba:dinstall /dm8/
​

三 安装(dmdba和root执行)

su - dmdba
cd /mnt/
./DMInstall.bin  -i
​
[root@kylindbserver223 ~]# su - dmdba
[dmdba@kylindbserver223 ~]$ cd /mnt/
[dmdba@kylindbserver223 mnt]$ ll
total 1069534
-r-xr-xr-x 1 root root    2909114 Apr 18 13:20 'DM8 Install.pdf'
-r-xr-xr-x 1 root root 1092293558 Apr 18 13:23  DMInstall.bin
[dmdba@kylindbserver223 mnt]$ ./DMInstall.bin -i
Please select the installer's language (E/e:English C/c:Chinese) [E/e]:c
解压安装程序......... 
欢迎使用达梦数据库安装程序
​
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n
​
是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
设置时区:
[ 1]: GTM-12=日界线西
[ 2]: GTM-11=萨摩亚群岛
[ 3]: GTM-10=夏威夷
[ 4]: GTM-09=阿拉斯加
[ 5]: GTM-08=太平洋时间(美国和加拿大)
[ 6]: GTM-07=亚利桑那
[ 7]: GTM-06=中部时间(美国和加拿大)
[ 8]: GTM-05=东部部时间(美国和加拿大)
[ 9]: GTM-04=大西洋时间(美国和加拿大)
[10]: GTM-03=巴西利亚
[11]: GTM-02=中大西洋
[12]: GTM-01=亚速尔群岛
[13]: GTM=格林威治标准时间
[14]: GTM+01=萨拉热窝
[15]: GTM+02=开罗
[16]: GTM+03=莫斯科
[17]: GTM+04=阿布扎比
[18]: GTM+05=伊斯兰堡
[19]: GTM+06=达卡
[20]: GTM+07=曼谷,河内
[21]: GTM+08=中国标准时间
[22]: GTM+09=汉城
[23]: GTM+10=关岛
[24]: GTM+11=所罗门群岛
[25]: GTM+12=斐济
[26]: GTM+13=努库阿勒法
[27]: GTM+14=基里巴斯
请选择设置时区 [21]:21
​
安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1
所需空间: 1815M
​
请选择安装目录 [/home/dmdba/dmdbms]:/dm8
可用空间: 424G
是否确认安装路径(/dm8)? (Y/y:是 N/n:否)  [Y/y]:y
​
安装前小结
安装位置: /dm8
所需空间: 1815M
可用空间: 424G
版本信息: 
有效日期: 
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2023-05-16 14:53:25 
[INFO] 安装达梦数据库...
2023-05-16 14:53:25 
[INFO] 安装 基础 模块...
2023-05-16 14:53:27 
[INFO] 安装 服务器 模块...
2023-05-16 14:53:27 
[INFO] 安装 客户端 模块...
2023-05-16 14:53:28 
[INFO] 安装 驱动 模块...
2023-05-16 14:53:28 
[INFO] 安装 手册 模块...
2023-05-16 14:53:28 
[INFO] 安装 服务 模块...
2023-05-16 14:53:29 
[INFO] 移动日志文件。
2023-05-16 14:53:29 
[INFO] 安装达梦数据库完成。
​
请以root系统用户执行命令:
/dm8/script/root/root_installer.sh
​
安装结束
​
[dmdba@kylindbserver223 mnt]$ 
​
​
#root用户执行/dm8/script/root/root_installer.sh 
根据提示,以root用户执行
[root@kylindbserver223 ~]# /dm8/script/root/root_installer.sh 
移动 /dm8/bin/dm_svc.conf 到/etc目录
创建DmAPService服务
Created symlink /etc/systemd/system/multi-user.target.wants/DmAPService.service → /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务
[root@kylindbserver223 ~]# 
​

四 修改dmdba用户的环境变量

echo 'export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool'>>/home/dmdba/.bash_profile

五 配置实例(dmdba执行)

su - dmdba
mkdir -p /dm8/data
dminit path=/dm8/data
...

六 注册服务(root执行)

cd /dm8/script/root
./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini -p DMSERVER
​
systemctl start DmServiceDMSERVER
​
​
[root@oracle-18 root]# ./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini -p DMSERVER
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service to /usr/lib/systemd/system/DmServiceDMSERVER.service.
创建服务(DmServiceDMSERVER)完成
[root@oracle-18 root]# 

七 客户端连接

su - dmdba
disql SYSDBA/SYSDBA@localhost:5236
​
​
SET LINESHOW ON
select status$ from v$database;
​

八 放开防火墙

[root@kylindbserver223 ~]# firewall-cmd --zone=public --permanent --add-port=5236/tcp
success
[root@kylindbserver223 ~]# systemctl restart firewalld
[root@kylindbserver223 ~]# 

九创建用户

SQL> create user xmsme identified by "xmsme@2023";
操作已执行
已用时间: 10.078(毫秒). 执行号:59503.
SQL> 
​
SQL> grant create session to xmsme;
操作已执行
已用时间: 3.220(毫秒). 执行号:59504.
SQL> grant resource to xmsme;
操作已执行
已用时间: 3.748(毫秒). 执行号:59505.
SQL> grant public to xmsme;
操作已执行
已用时间: 3.295(毫秒). 执行号:59506.
SQL>   

十 springboot工程访问达梦数据库

1 IntelliJ IDEA新建springboot工程

2 指定group,artifact,Java版本

3 dependency选定spring web

4 完成

5 pom.xml添加配置

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
            <version>2.7.12</version>
        </dependency>
        <dependency>
            <groupId>com.dameng</groupId>
            <artifactId>Dm8JdbcDriver18</artifactId>
            <version>8.1.1.49</version>
        </dependency>

6 application.properties文件添加数据库配置信息

修改项目工程的resources路径下的application.properties配置文件,在其中添加下述达梦数据库的信息:

# 数据库的连接配置
spring.datasource.url=jdbc:dm://10.0.9.223:5236/
spring.datasource.username=xmsme
spring.datasource.password=xmsme@2023
spring.datasource.driver-class-name=dm.jdbc.driver.DmDriver

7 启动程序添加访问入口

主启动程序里,添加注解@RestController,然后再在主类里添加1个方法queryDbVersion和1个成员字段JdbcTemplate,并且加上对应的注解。

package com.xmsme.dameng;
​
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
​
import java.util.List;
​
@SpringBootApplication
@RestController
public class DamengApplication {
​
    @Autowired
    private JdbcTemplate jdbcTemplate;
​
    @GetMapping("/version")
    public List queryDbVersion() {
        return jdbcTemplate.queryForList("SELECT banner as 版本信息 FROM v$version");
    }
​
    public static void main(String[] args) {
        SpringApplication.run(DamengApplication.class, args);
    }
​
}
​

8 访问程序

浏览器直接访问:http://localhost:8080/version

看到有正确的返回数据库相关信息,说明springboot工程可以正常访问达梦数据库。

十一参考

达梦官网:https://eco.dameng.com/document/dm/zh-cn/pm/dm8-tools.html

留言