首页 > 数据库 >openGauss数据库的安装与使用

openGauss数据库的安装与使用

时间:2024-04-09 11:00:34浏览次数:23  
标签:rs 数据库 pro openGauss 安装 连接

VMware+CentOS7.6+OpenGauss2.0.1 极简版安装
环境准备
Arch:x86-64

OS:Win11

VMware:16.1.2

安装 CentOS 7.6
CentOS 镜像:CentOS-7.6.1810

VMware 中创建新的虚拟机时:1CPU 2Core 4GB NAT 其他选择默认配置即可

CentOS 引导安装:

语言选择英语
打开网络

设置时区

安装位置和分区

软件选择最小安装(也可以选带 GUI 安装)

开始安装

设置 ROOT 密码和新建用户

安装完成后重启

配置 CentOS7.6
简单配置

设置字体 setfont lat4-19

重新安装 VMware Tools(Optional)(对于无 GUI 的应该没啥用,可以在本地 ssh 到 vmware 中就可以复制粘贴了)

使用 MobaXterm SSH 连接

yum 源更新 yum update

安装 Python3.6 yum install -y python36

安装其他依赖yum install -y bzip2 libaio-devel flex bison ncurses-devel glibc-devel patch

关闭防火墙和 SeLinux,然后重启,重连 ssh

设置字符集参数:在/etc/profile 文件中添加”export LANG=XXX”(XXX 为 Unicode 编码)

检查设置时区

关闭 swap 交换内存(Optional) swapoff -a

关闭 RemovelPC,CentOS 操作系统默认为关闭

开始安装
创建用户组 dbgrp、用户 omm,将该用户添加至 root 组,并修改用户 omm 的密码

配置共享文件夹,把 openGauss 的安装包(2.0.1 极简版)放进去

以 root 用户创建软件目录,以 omm 用户登录解压

进入 simpleInstall 目录,执行安装脚本 sh install.sh -w xxxx

出现如下错误:

解决办法:

在/etc/sysctl.conf 中加入语句kernel.sem = 250 32000 100 999,然后执行sysctl -p

执行完安装脚本之后:

openGauss 端口号默认为 5432

默认生成名称为 postgres 的数据库

数据库目录安装路径/opt/software/openGauss/data/single_node,其中/opt/software/openGauss 为解压包路径,data/single_node 为新创建的数据库节点目录。

使用 ps 和 gs_ctl 查看进程是否正常(如果没有找到 gs_ctl,配置环境变量即可 export PATH=/opt/software/openGauss/bin:$PATH,如果缺失 lib 则配置LD_LIBRARY_PATH)

如果 ps 里没有的话可以先重启一下:

gs_ctl restart -D /opt/software/openGauss/data/single_node -Z single_node

连接与使用
Gsql 方式
数据库安装完成后,默认生成名称为 postgres 的数据库,默认端口是 5432。

因为 omm 用户是管理员用户,因此系统显示“DBNAME=#”。若使用普通用户身份登录和连接数据库,系统显示“DBNAME=>”。

“Non-SSL connection”表示未使用 SSL 方式连接数据库。如果需要高安全性时,请使用 SSL 连接。

查看对象操作:

查看帮助信息:?
列举数据库:\l
列举表:\dt
查看表结构:\d tablename
切换数据库:\c dbname
列举 schema:\dn
查看索引:\di
远程连接前的准备
配置数据库用户和权限(omm 不能用于远程连接):

修改数据库的 pg_hba.conf 文件,给要远程连接的主机/用户放行(这里好像不能用 gs_auc 命令完成,直接编辑文件即可):

使用 gs_ctl 将策略生效:gs_ctl reload -D ./data/single_node

修改 postgresql.conf 中的监听地址:listen_addresses = '*',默认只监听 local,改后包括了要进行远程连接的 ip 地址就行

重启数据库生效:gs_ctl restart -D ./data/single_node

如果之后进行 JDBC 连接的时候出现如下图中的目标地址拒绝连接的异常,可能就是这一步出问题了

ODBC/JDBC
根据文档 JDBC 应该是都支持,ODBC 支持受限

因为是在 CentOS 7.6 上装的 openGauss,所以选择 JDBC。

JDBC Connectors 可以不用从源码构建,直接从官网下载页下载即可。

在 Win 上 VSCode 中配置好 JAVA 环境,需要 Java11 和 Java8,配置该项目的 JDK Runtime 和 Referenced Libraries(把下载解压得到的 postgresql.jar 加进去)

代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Timestamp;
import java.util.Properties;

class openGaussTest {
public static void main(String[] args) {
System.out.println("=START TEST=");

Connection conn = getConnect("luooofan", "Luooofan1");

Statement stmt = null;
try {
  stmt = conn.createStatement();
  ResultSet rs = null;
  try {
    rs = stmt.executeQuery(
        "select pro_c_id, pro_id, pro_status, pro_quantity, pro_income, pro_purchase_time from property;");
    while (rs.next()) {
      int pro_c_id = rs.getInt(1);
      int pro_id = rs.getInt(2);
      String pro_status = rs.getString(3);
      int pro_quantity = rs.getInt(4);
      int pro_income = rs.getInt(5);
      Timestamp pro_pruchase_time = rs.getTimestamp("pro_purchase_time");
      System.out.printf("%4d %4d %4s %4d %4d ", pro_c_id, pro_id, pro_status, pro_quantity, pro_income);
      System.out.println(pro_pruchase_time);
    }
  } catch (SQLException e) {
    if (rs != null) {
      try {
        rs.close();
      } catch (SQLException e1) {
        e1.printStackTrace();
      }
    }
    e.printStackTrace();
  }

  stmt.close();
} catch (SQLException e) {
  if (stmt != null) {
    try {
      stmt.close();
    } catch (SQLException e1) {
      e1.printStackTrace();
    }
  }
  e.printStackTrace();
}

try {
  conn.close();
} catch (SQLException e) {
  e.printStackTrace();
}

}

public static Connection getConnect(String username, String passwd) {
// 驱动类
String driver = "org.postgresql.Driver";
// 数据库连接描述符
String sourceURL = "jdbc:postgresql://...:5432/finance";
Connection conn = null;

try {
  // 加载驱动
  Class.forName(driver);
} catch (Exception e) {
  e.printStackTrace();
  return null;
}

try {
  // 创建连接
  conn = DriverManager.getConnection(sourceURL, username, passwd);
  System.out.println("Connection succeed!");
} catch (Exception e) {
  e.printStackTrace();
  return null;
}

return conn;

}
}
NOTE:

要执行什么操作就要赋予用户什么权限,代码中要对 property 表查询,故:grant select on table property to luooofan;

因为 CentOS 没配置中文编码,所以直接在 CentOS 上查找的话应该无法显示中文,不过这并不影响在 win 上远程连接然后查询并显示

References
openGauss Server&Connectors Official Download

官方文档-快速入门

官方文档-开发者指南

openGauss 数据库部署 Linux 遇到的问题

【数据库原理实验(openGauss)】 使用 JDBC 连接数据库

标签:rs,数据库,pro,openGauss,安装,连接
From: https://www.cnblogs.com/helloopenGauss/p/18123425

相关文章

  • openGauss事务机制中MVCC技术的实现分析
    openGauss事务机制中MVCC技术的实现分析概述事务事务是为用户提供的最核心、最具吸引力的数据库功能之一。简单地说,事务是用户定义的一系列数据库操作(如查询、插入、修改或删除等)的集合,从数据库内部保证了该操作集合作为一个整体的原子性(Atomicity)、一致性(Consistency......
  • 安装vscode
    1、浏览器搜索vscode,点击下方内容 2、点击右上方Download,弹出左下方内容点几向下的箭头弹出Otherdowloads,点击Otherdowloads3、点击以下圈红内容4、下载到本地后下一步下一步傻瓜式安装 ......
  • 05_ElementPlus安装过程
    官网:一个Vue3UI框架|ElementPlus(element-plus.org)1.安装:运行cmd,转到我的项目的目录下\vuedemo,执行命令:npminstallelement-plus--save2.整体导入Element-plus,修改mian.js文件import{createApp}from'vue'//导入Pinia的createPinia方法,用于创建Pinia实例......
  • 在centos上离线安装k8s
    测试环境中很多是没有连外网的,在这种环境下安装k8s相对麻烦一点,本篇展示一下如何在没有外网的环境当中安装k8s。为了在离线环境当中安装,需要额外准备一台可以连接外网的机器,且这台机器可以向离线机器传输文件,以下称之为外网机器。安装k8s大致分为两步,安装binary文件包括kubectl,k......
  • openGauss 主备高可用能力增强
    主备高可用能力增强可获得性本特性自openGauss5.1.0版本开始引入。特性简介针对备机异常的场景,优化主机的业务在最大可用模式下不阻塞,并且表的垃圾回收不受影响。客户价值当同步备机异常时,例如磁盘故障,导致备机长时间阻塞在写盘上,而主机的synchronous_commit设置为on以上,会......
  • openGauss 资源标签机制
    资源标签机制可获得性本特性自openGauss1.1.0版本开始引入。特性简介数据库资源是指数据库所记录的各类对象,包括数据库、模式、表、列、视图、触发器等,数据库对象越多,数据库资源的分类管理就越繁琐。资源标签机制是一种通过对具有某类相同“特征”的数据库资源进行分类标记而......
  • windows安装python环境搭建
    1、浏览器搜索python,这里点击官方 2、点击Downloads3.下载最新版 4、下载后的安装包5、下一步下一步傻瓜式安装6、可以使用自带的IDLE编辑器开发,点击电脑开始键找到如下圈红处点击打开 7、可以更改编辑器字体 ......
  • openGauss 主备机
    主备机可获得性本特性自openGauss1.0.0版本开始支持DN主备。特性简介为了保证故障的可恢复,需要将数据写多份,设置主备多个副本,通过日志进行数据同步,可以实现节点故障、停止后重启等情况下,openGauss能够保证故障之前的数据无丢失,满足ACID特性。客户价值主备机功能可以支持主......
  • openGauss 支持备机build备机
    支持备机build备机可获得性本特性自openGauss3.0.0版本开始引入。特性简介备机build备机加快备机故障的恢复。减小主机io和带宽压力。客户价值当业务压力过大时,从主机build备机会对主机的资源造成影响,导致主机性能下降、build变慢的情况。使用备机build备机不会对主机业务......
  • openGauss 支持OLTP场景数据压缩
    支持OLTP场景数据压缩可获得性本特性自openGauss3.0.0版本开始引入。在openGauss3.1.0版本中将pca文件和pcd文件整合为一个文件;pca独立进行加载淘汰管理,不再依赖mmap操作;新增chunk碎片整理操作。在openGauss5.1.0版本支持修改行存表的压缩相关参数。特性简介支持OLTP场景......