国产开源数据框openGauss安装与jdbc连接

news/2024/4/19 13:57:35/文章来源:https://blog.csdn.net/renxyz/article/details/136538769

一、 openGauss 安装(企业版)

1. 获取安装包

1.1. 从 openGauss 开源社区下载对应平台的安装包。

通过软件包 | openGauss 登录 openGauss 开源社区,选择 2.0.0 版本对应平台企业版安装包(openGauss-2.0.0-CentOS-64bit-all.tar.gz)。 单击“下载”。

1.2. 检查安装包。

解压安装包,检查安装目录及文件是否齐全。在安装包所在目录执行以下命令:

tar -zxvf openGauss-2.0.0-CentOS-64bit-all.tar.gz
ls -1b

执行 ls 命令,显示类似如下信息:

<img src='https://pic.imgdb.cn/item/615130622ab3f51d9113b94a.png'>


2. 修改操作系统配置

2.1. 修改文件

如果安装的不是 Centos7.6,则要修改/etc/rehat-release 文件,将
CentOS Linux release 7.9.2003 (Core)修改为CentOS Linux release 7.6 (Core)

2.2. 关闭操作系统防火墙

步骤 1 修改/etc/selinux/config 文件中的“SELINUX”值为“disabled”。

使用 VIM 打开 config 文件。
vim /etc/selinux/config

修改“SELINUX”的值“disabled”,执行 :wq 保存并退出修改。

SELINUX=disabled

步骤 2 重新启动操作系统。

reboot

步骤 3 检查防火墙是否关闭。

systemctl status firewalld

若防火墙状态显示为 active (running),则表示防火墙未关闭,请执行步骤 4;
若防火墙状态显示为 inactive (dead),则无需再关闭防火墙。

步骤 4 关闭防火墙。

systemctl disable firewalld.service
systemctl stop firewalld.service

步骤 5 在其他主机上重复步骤 1 到步骤 4。


2.3. 设置字符集参数

将各数据库节点的字符集设置为相同的字符集,可以在/etc/profile 文件中添加”export LANG=XXX”(XXX 为 Unicode 编码)。
vim /etc/profile

2.4. 设置时区和时间

在各数据库节点上,确保时区和时间一致。

步骤 1 执行如下命令检查各数据库节点时间和时区是否一致。如果不一致,请执行步骤 2~步骤 3。

date

步骤 2 使用如下命令将各数据库节点/usr/share/zoneinfo/目录下的时区文件拷贝为/etc/localtime 文件。

cp /usr/share/zoneinfo/$地区/$时区/etc/localtime

说明:
地区 时区为需要设置时区的信息,例如:Asia/Shanghai。

步骤 3 使用 date -s 命令将各数据库节点的时间设置为统一时间,举例如下。

date -s "Sat Sep 27 16:00:07 CST 2020"


2.5. 设置网卡 MTU 值

将各数据库节点的网卡 MTU 值设置为相同大小。

步骤 1 执行如下命令查询服务器的网卡名称

ifconfig

步骤 2 使用如下命令将各数据库节点的网卡 MTU 值设置为相同大小。

对于 X86,MTU 值推荐 1500;对于 ARM,MTU 值推荐 8192。

ifconfig 网卡名称 mtu mtu值


3. 安装 openGauss

3.1. 创建 XML 配置文件

安装 openGauss 前需要创建 cluster_config.xml 文件。cluster_config.xml 文件包含部署
openGauss 的服务器信息、安装路径、IP 地址以及端口号等。用于告知 openGauss 如何
部署。用户需根据不同场景配置对应的 XML 文件。

配置数据库节点名称时,请通过 hostname 命令获取数据库节点的主机名称。

单节点配置文件

3.2.初始化安装环境

3.2.1. 准备安装用户及环境

步骤 1 以 root 用户登录待安装 openGauss 的任意主机,并按规划创建存放安装包的目录。

步骤 2 将安装包“openGauss-2.0.0-CentOS-64bit-all.tar.gz”和配置文件“cluster_config.xml”都上传至上一步所创建的目录中。

步骤 3 在安装包所在的目录下,解压安装包 openGauss-2.0.0-CentOS-64bit-all.tar.gz。安装包解压后,会有 OM 安装包和 Server 安装包。继续解压 OM 安装包,会在/opt/software/openGauss 路径下自动生成 script 子目录,并且在 script 目录下生成 gs_preinstall 等各种 OM 工具脚本。

步骤 4 进入到工具脚本存放目录下。
cd /opt/software/openGauss/script

步骤 5 为确保成功安装,执行命令检查 hostname 与 /etc/hostname 是否一致。

hostname
cat /etc/hostname

步骤 6 使用 gs_preinstall 需要 python3.6 的环境,一般自带的是 python2.7。

  • 安装 CentOS 开发工具 【用于允许您从源代码构建和编译软件】
    sudo yum -y “groupinstall development”

  • 下载 epel

    sudo yum install epel-release

  • 安装 python3

    sudo yum install python36

  • 更改默认 python

步骤 7 使用 gs_preinstall 准备好安装环境

采用交互模式执行前置,并在执行过程中自动创建 root 用户互信和 openGauss 用
户互信:

./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml

3.2.2. 建立互信(使用脚本建立互信

步骤 1 创建一个执行互信脚本所需要的输入文本,并在此文件中添加 openGauss 中所有主机
IP。

vim hostfile

步骤 2 以需要创建互信的用户执行下面脚本建立互信。

./gs_sshexkey -f /opt/software/hostfile -W wangjingwei1

运行成功

3.3.执行安装

步骤 1 登录到 openGauss 的主机,并切换到 omm 用户。

su - omm

步骤 2 使用 gs_install 安装 openGauss。

gs_install -X /opt/software/openGauss/cluster_config.xml
在执行过程中,用户需根据提示输入数据库用户的密码,密码应具有一定的复杂度.

步骤 3 安装执行成功之后,需要手动删除主机 root 用户的互信,即删除 openGauss 数据库各
节点上的互信文件。

rm -rf ~/.ssh

安装完成

4. 安装验证

步骤 1 以 omm 用户身份登录服务器。

步骤 2 执行如下命令检查数据库状态是否正常,“cluster_state ”显示“Normal”表示数据
库可正常使用。

gs_om -t status

步骤 3 数据库安装完成后,默认生成名称为 postgres 的数据库。第一次连接数据库时可以连接到此数据库。其中 postgres 为需要连接的数据库名称,26000 为数据库主节点的端口号,即 XML 配置.文件中的 dataPortBase 的值。请根据实际情况替换。

gsql -d postgres -p 26000

连接成功后,系统显示类似如下信息表示数据库连接成功。

gsql ((openGauss x.x.x build 290d125f) compiled at 2021-03-08 02:59:43 commit 2143 last mr 131 Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help.

步骤 4 建立表,并插入内容进行查询

二、使用 jdbc 连接数据库

1. 确认连接信息

步骤 1 以操作系统用户 omm 登录数据库主节点。

步骤 2 使用“gs_om -t status --detail”命令查询 openGauss 各实例情况。

2. 配置服务端远程连接

步骤 1 以操作系统用户 omm 登录数据库主节点。

步骤 2 配置客户端认证方式

  • 需先本地连接数据库,并在数据库中使用如下语句建立“jack”用户:

    postgres=# CREATE USER jack PASSWORD 'Test@123';

  • 允许客户端以“jack”用户连接到本机,此处远程连接禁止使用

    “omm”用户(即数据库初始化用户)。下面示例中配置允许 IP 地址为 10.27.1.209 的客户端访问本机。

步骤 3 配置listen_addresses,listen_addresses 即远程客户端连接使用的数据库主节点 ip 或者主机名。

  • 使用如下命令查看数据库主节点目前的 listen_addresses 配置。

    gs_guc check -I all -c "listen_addresses"

  • 使用如下命令把要添加的 IP 追加到 listen_addresses 后面,多个配置项之间用英文逗号分隔。例如,追加 IP 地址 10.11.12.13。

    gs_guc set -I all -c"listen_addresses='localhost,***.***.***.***00,10.11.12.13'"

步骤 4 执行如下命令重启 openGauss。
gs_om -t stop && gs_om -t start

3. JDBC 包、驱动类和环境类

  • 在 openGauss 官网下载 JDBC 包,openGauss-2.0.0-JDBC.tar.gz,解压获得驱动 jar 包 postgresql.jar。

  • 在创建数据库连接之前,需要加载数据库驱动类“org.postgresql.Driver”。

  • 终端输入“java -version”,查看 JDK 版本,确认为 JDK1.8 版本。

4. 驱动加载

在代码中创建连接之前任意位置隐含装载:Class.forName("org.postgresql.Driver");

  • 在 windows 下运行代码进行连接时,使用 eclipse 装载驱动即可。
  • 在 centos 系统下连接数据库时,要将 postgresql.jar 驱动包设置到 java 的 classpath环境变量中。

    将 postgresql.jar 类库文件拷贝到...\Java\jdk1.7.0\jre\lib\ext 目录下。(这个路径根据 JDK 的版本和安装路径确定,下同)

    将 postgresql.jar 类库文件拷贝到...\Java\jre7\lib\ext目录下( 最好是,只要是 jre 文件夹,都复制一个 postgresql.jar 到 jre7\lib\ext 里去)

5. 连接数据库

JDBC 提供了三个方法,用于创建数据库连接。


1. DriverManager.getConnection(String url)
2. DriverManager.getConnection(String url, Properties info);
3. DriverManager.getConnection(String url, String user, String password);
  • 连接数据库并在表中插入数据

    连接时会以某一用户访问某一表,要先在数据库中对该用户进行授权。

查询此表进行验证

三、 遇到的问题

  1. 刚开始安装的极简版,发现有一个命令使用不了,后来改安装企业版就没遇到这个问题。

  2. centos 版本问题:在网上没有找到 centos7.6,只找到 7.9,运行时会报错,要修改/etc/rehat-release 文件,将
    CentOS Linux release 7.9.2003 (Core)修改为CentOS Linux release 7.6 (Core)

  3. 安装 python3

    • 安装 CentOS 开发工具 【用于允许您从源代码构建和编译软件】
      sudo yum -y “groupinstall development”

    • 下载 epel sudo yum install epel-release

    • 安装 python3 sudo yum install python36

    • 更改默认 python

  4. 连接问题

    连接 windows 主机时,远程连接也配置了,互信也建立了,总是报连接错误问题。后来选择连接虚拟机,连接虚拟机要先配 jdk,直接使用 yum 安装比较方便:

    • 搜索 jdk 安装包

      # yum search java|grep jdk
      
    • 下载 jdk1.8,下载后默认目录为:/uer/lib/jvm/

      # yum install java-1.8.0-openjdk
      
    • 验证安装

    后面要进行驱动加载,不加载的话使用不了下载的文件。要将 postgresql.jar 驱动包设置到 java 的 classpath环境变量中。

    将 postgresql.jar 类库文件拷贝到...\Java\jdk1.7.0\jre\lib\ext 目录下。(这个路径根据 JDK 的版本和安装路径确定,下同)

    将 postgresql.jar 类库文件拷贝到...\Java\jre7\lib\ext 目录下( 最好是,只要是 jre 文件夹,都复制一个 postgresql.jar 到 jre7\lib\ext 里去)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_998805.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

异常-Exception

文章目录 异常-Exception常见的运行时异常NullPointerException&#xff08;空指针异常&#xff09;ArithmeticException&#xff08;数学运算异常&#xff09;ArrayIndexOutOfBoundsException&#xff08;数组下标越界异常&#xff09;ClassCastException&#xff08;类型转换…

浏览器修改接口返回数据展示在页面上

前端自己调试&#xff0c;想修改接口返回来的数据&#xff0c;然后展示在页面上 举例 接口返回了数据&#xff0c;想要修改此数据 这时就可以修改数据了&#xff0c;修改完成保存 然后刷新页面就会使用本地保存的数据了

Linux第68步_旧字符设备驱动的一般模板

file_operations结构体中的函数就是我们要实现的具体操作函数。 注意&#xff1a; register_chrdev()和 unregister_chrdev()这两个函数是老版本驱动使用的。现在新字符设备驱动已经不再使用这两个函数&#xff0c;而是使用Linux内核推荐的新字符设备驱动API函数。 1、创建C…

“TXT文本编辑专家:一键查找,多关键字,高效办公新选择“

办公场景中&#xff0c;我们经常需要处理大量的TXT文本文件&#xff0c;从中筛选出包含特定关键字的内容。传统的文本编辑软件往往功能单一&#xff0c;无法满足多关键字、多文件的同时查找需求。现在&#xff0c;一款专为TXT文本编辑设计的办公软件应运而生&#xff0c;它将为…

ArcGIS学习(十一)公服设施服务区划分与评价

ArcGIS学习(十一)公服设施服务区划分与评价 本任务带来的内容是公服设施服务区划分与公服设施服务区评价。本任务包括两个关卡: 公服设施服务区划分公服设施服务区空间价值评价1.公服设施服务区划分 首先,来看看这个案例的场景和基础数据。我们以上海市图书馆为例进行分析…

使用docker安装运行rabbitmq---阿里云服务器

目录 0、阿里云没开端口的得要去安全组规则去添加&#xff1a; 1、下载RabbitMQ镜像&#xff1a; 2、查看镜像是否下载成功&#xff0c;得到docker镜像id&#xff1a; 3、运行RabbitMQ: 4、查看RabbbitMQ容器是否启动成功&#xff1a; 5、启动RabbitMQ中的插件管理 6、访…

微信小程序 ---- 慕尚花坊 用户管理

01. 用户登录-什么是 token 什么是 Token Token 是服务器生成的一串字符串&#xff0c;用作客户端发起请求的一个身份令牌。当第一次登录成功后&#xff0c;服务器生成一个 Token 便将此 Token 返回给客户端&#xff0c;客户端在接收到 Token 以后&#xff0c;会使用某种方式…

.NetCore6.0实现ActionFilter过滤器记录接口请求日志

文章目录 目的实现案例&#xff1a;一.首先我们新建一个WebApi项目二.配置 appsettings.json 文件&#xff0c;配置日志存放路径三.创建 Model 文件夹&#xff0c;创建AppConfig类和ErrorLog类1.在AppConfig类中编写一个GetConfigInfo方法获取配置文件中的值2.在ErrorLog类中&a…

大数据组件之图数据库JanusGraph图文介绍

前言 大数据时代&#xff0c;面对复杂关联数据的存储与检索需求&#xff0c;图数据库以其强大的关联数据处理能力和直观的图形模型展示&#xff0c;已成为大数据处理领域的一项关键技术。JanusGraph作为一款专门为满足超大规模图数据处理而设计的分布式图数据库系统&#xff0…

STM32 NAND FLASH知识点

1.NAND FLASH的简介 NAND FLASH 的概念是由东芝公司在 1989 年率先提出&#xff0c;它内部采用非线性宏单元模式&#xff0c;为固态大容量内存的实现提供了廉价有效的解决方案。 NAND FLASH 存储器具有容量较大&#xff0c;改写速度快等优点&#xff0c;适用于大量数据的存储&…

SpringBoot整合Redis实现分布式锁

SpringBoot整合Redis实现分布式锁 分布式系统为什么要使用分布式锁&#xff1f; 首先&#xff0c;分布式系统是由多个独立节点组成的&#xff0c;这些节点可能运行在不同的物理或虚拟机器上&#xff0c;它们通过网络进行通信和协作。在这样的环境中&#xff0c;多个节点可能同…

Vue事件处理:.passive修饰符与应用场景

.passive修饰符 passive这个修饰符会执行默认方法。你们可能会问&#xff0c;明明默认执行为什么会设置这样一个修饰符。这就要说一下这个修饰符的本意了。 浏览器只有等内核线程执行到事件监听器对应的JavaScript代码时&#xff0c;才能知道内部是否会调用preventDefa…

如何在Windows环境下编译OpenOCD

1. 安装Cygwin Windows环境下编译OpenOCD可以是在MinGW-w64/MSYS或Cygwin下&#xff0c;这里选择Cygwin&#xff0c;下载安装Cygwin。 2. 进入OpenOCD源代码目录 打开Cygwin&#xff0c;进入OpenOCD源代码目录&#xff0c;例如代码放在D:\Temp\OpenOCD\openocd-code下&#…

不注册访问 Claude3 大模型

随着Claude3大模型的出世&#xff0c;大模型霸主地位已经发生易位&#xff0c;但是国内使用Claude3官网 无论是注册都不容易&#xff0c;本篇文章主要介绍如何不通过Claude3 官网实现Claude3 大模型的使用&#xff0c;这里优先推荐Chatbot Arena 一、直接通过第三方代理 Chatb…

JsonCreator注解InvalidDefinitionException报错解决

"stack_trace": "c.f.j.d.e.InvalidDefinitionException: More than one argument (#0 and left as delegating for Creator [constructor for (

Django 创建第一个项目

Django 创建第一个项目 本章我们将介绍 Django 管理工具及如何使用 Django 来创建项目&#xff0c;第一个项目我们以 HelloWorld 来命令项目。 测试版本说明&#xff1a; Python 3.9.7 Django 4.2.7 通过以下命令可以查看版本号&#xff1a; # python3 -V Python 3.9.7 #…

Material UI 5 学习02-其它按钮组件

Material UI 5 学习02-其它按钮组件 一、IconButton按钮二、 ButtonGroup按钮组1、最基本的实例2、垂直按钮组 一、IconButton按钮 图标按钮通常适用于切换按钮&#xff0c;允许选择或选择单个选项 取消选择&#xff0c;例如在项目中添加或删除星号。 <IconButton aria-lab…

Linux网络编程 ——TCP套接字通信

Linux网络编程——TCP套接字通信 7. TCP 三次握手8. TCP 滑动窗口9. TCP 四次挥手10. TCP 通信并发11. TCP 状态转换12 端口复用 7. TCP 三次握手 TCP 是一种 面向连接的 单播协议&#xff0c;在发送数据前&#xff0c;通信双方必须在彼此间建立一条连接。所谓的“ 连接”&…

智能指针基础知识【C++】【RAII思想 || unique_ptr || shared_ptrweak_ptr || 循环引用问题】

目录 一&#xff0c;为什么需要智能指针 二&#xff0c;内存泄露的基本认识 1. 内存泄露分类 2. 常见的内存检测工具 3&#xff0c;如何避免内存泄露 三&#xff0c;智能指针的使用与原理 1. RAII思想 2. 智能指针 &#xff08;1. unique_ptr &#xff08;2. shared_…

java-ssm-jsp-大学生评优管理系统的设计与实现

java-ssm-jsp-大学生评优管理系统的设计与实现 获取源码——》公主号&#xff1a;计算机专业毕设大全