中标麒麟系统安装测试使用达梦数据库
Contents
零 说明
本文档用于记录,在中标麒麟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