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 连接数据库

openGauss数据库的安装与使用的更多相关文章

  1. 实践录丨如何在鲲鹏服务器OpenEuler操作系统中快速部署OpenGauss数据库

    本文适合需要快速了解OpenGauss基本使用和操作的单机用户,可以短时间内完成安装体验.对于企业级生产使用或者需要部署多台服务器的,不适合本文. 因为业务需要,要在鲲鹏架构里安装单机版的OpenGa ...

  2. opengauss集群安装报错

    DB_VERSION:opengauss 3.0.3 1.[GAUSS-51632] [GAUSS-51632] : Failed to do gs_sshexkey.Error: Please en ...

  3. [转] Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

    from:  http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得 ...

  4. Linux学习之CentOS--CentOS6.4下Mysql数据库的安装与配置【转】

      如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--C ...

  5. Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

    原文:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...

  6. SSD Cloud Hosting–Linode-Mysql数据库的安装与配置

    接着上一篇的话题:SSD Cloud Hosting - Linode的配置和部署,搭建Java环境 8.Mysql数据库的安装与配置 安装 检查yum里边有没有mysql: yum list|gre ...

  7. .net远程连接oracle数据库不用安装oracle客户端

    asp.net远程连接oracle数据库不用安装oracle客户端的方法下面是asp.net连接远程Oracle数据库服务器步骤: 1.asp.net连接oracle服务器需要添加Sytem.Data ...

  8. .net远程连接oracle数据库不用安装oracle客户端的方法

    .net远程连接oracle数据库不用安装oracle客户端的方法步骤: 1.添加Sytem.Data.OracleClient命名空间. 2.连接时需要ConnectionString字符串,出现在 ...

  9. Linux学习之CentOS6下Mysql数据库的安装与配置

    转自:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...

  10. Linux CentOS6.4下Mysql数据库的安装与配置

    一.mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱 ...

随机推荐

  1. MindSponge分子动力学模拟——使用MDAnalysis工具进行后分析(2024.02)

    技术背景 分子动力学模拟(Molecule Dynamics Simulation,MD),本质上是一门采样技术.通过配置力场参数.拓扑结构和积分器,对一个给定的体系不断的采样,最终得到一系列的轨迹. ...

  2. HashMap很美好,但线程不安全怎么办?ConcurrentHashMap告诉你答案!

    写在开头 在<耗时2天,写完HashMap>这篇文章中,我们提到关于HashMap线程不安全的问题,主要存在如下3点风险: 风险1: put的时候导致元素丢失:如两个线程同时put,且ke ...

  3. InputNumberZen.vue 数字输入 支持两位小数

    <template> <span style="width: 200px; display: inline-block;"> <Input v-mod ...

  4. C#之winform捕获Console.WriteLine内容到日志文件

    问题描述 之前接手同事的项目,是一个类似于服务端后台的Winform程序,主界面隐藏起来,只再任务栏显示程序图标. 整个项目里面没有日志记录功能,全靠Console.WriteLine打印信息.自己调 ...

  5. StatefulSet是怎样实现的

    StatefulSet是Kubernetes中用于管理有状态应用的标准实现.与Deployment不同,StatefulSet为每个Pod提供了一个唯一的.稳定的网络标识符,并且Pod的启动和停止顺序 ...

  6. 线上机器 swap 过高导致告警

    哈喽大家好,我是咸鱼. 今天收到了一个告警,说有台服务器上的 swap 过高,已经用了 50% 以上了. 登录机器查看一下内存以及 swap 的使用情况. [root@localhost ~]# fr ...

  7. crc16校验C语言源码实例解析

    一 概念: 循环冗余码校验英文名称为Cyclical Redundancy Check,简称CRC.它是利用除法及余数的原理来作错误侦测(Error Detecting)的.实际应用时,发送装置计算出 ...

  8. C++ 中的关联,聚合,组合 以及 它们的生命周期。

    关联,C++使用指针实现,两者到关系最弱,并且可以两向关联,B* A::b 与 A* B::a 可以并存,两者间没有明确的ownership关系,为什么不是引用,因为引用没有办法实现相向引用,这会是一 ...

  9. stable diffusion安装及使用

    最近在看这个,踩了一些坑,现在有点头绪了,记录如下 安装很简单,直接git下载下来,然后进到根目录执行./web-ui.py,第一次启动你没有模型他会帮你下载个默认模型,我有模型了,就先把这个模型放到 ...

  10. FFmpeg命令行之ffplay

    一.简述 ffplay是以FFmpeg框架为基础,外加渲染音视频的库libSDL构建的媒体文件播放器. 二.命令格式 在安装了在命令行中输入如下格式的命令: ffplay [选项] ['输入文件'] ...