【经验分享】openGauss 客户端(Data Studio / DBeaver)连接方式

前言

本篇介绍了openGauss常用的客户端连接工具Data Studio和DBeaver

01

客户端工具

openGauss部署之后,在服务器上提供了在命令行下运行的数据库连接工具gsql。此工具除了具备操作数据库的基本功能,还提供了若干高级特性,便于用户使用。对于日常使用openGauss来说,我们常用以下两种客户端连接工具Data Studio和DBeaver。

 1.1 Data Studio介绍

Data Studio作为一款配套openGauss数据库使用的客户端软件(当前只支持openGauss),辅助数据库开发人员便捷地构建应用程序, 以图形化界面形式提供数据库关键特性。降低数据库的使用门槛,提高用户的使用粘性。

主要提供如下功能:

1)管理/创建数据库对象(函数、存储过程、表、视图、序列、触发器等)

2)执行SQL语句或者SQL脚本

3)创建、执行、调试函数或存储过程

4)表数据增、删、改、查

5)导入/导出表数据

6)显示/导出DDL

7)SQL助手、格式化、执行历史记录

1.2 DBeaver介绍

DBeaver 是一个跨平台的数据库管理工具,支持 Windows、Linux 和 macOS。

它有两个版本,企业版和社区版,对于个人开发者来说,社区版的功能已经足够强大。DBeaver 是由 Java 编写的,默认使用 JDK 11 进行编译。社区版基于 Apache-2.0 License 在 GitHub 上开源,目前已获得 25.3k+ 的星标。DBeaver 支持几乎所有主流的数据库,包括关系型数据库和非关系数据库。

可以通过 DBeaver 官方下载安装包,也可以通过 GitHub 下载 release 版本。

官方下载地址:https://dbeaver.io/download/

02

数据库配置

2.1 开启数据库监听

postgresql.conf和pg_hba.conf这两个文件很重要。

postgresql.conf为参数文件,pg_hba.conf是黑白名单,在修改之前最好做一下备份。
[root@jeames ~]# find / -name postgresql.conf /opt/software/openGauss/data/single_node/postgresql.conf /var/lib/pgsql/15/data/postgresql.conf [root@jeames ~]# find / -name pg_hba.conf /opt/software/openGauss/data/single_node/pg_hba.conf /var/lib/pgsql/15/data/pg_hba.conf
[root@jeames ~]# cd /opt/software/openGauss/data/single_node [root@jeames single_node]# cp postgresql.conf /opt [root@jeames single_node]# cp pg_hba.conf /opt

修改postgresql.conf
切换到omm用户,修改postgresql.conf配置项ssl 为off,配置项ssl前面的#号去掉 [root@jeames ~]# su - omm [omm@jeames ~]$ cd /opt/software/openGauss/data/single_node [omm@jeames single_node]$ vi postgresql.conf
修改postgresql.conf配置项listen_addresses 将 listen_addresses = 'localhost' 修改为 listen_addresses = 'localhost,192.168.0.95' 其中192.168.0.95 为openGauss所在服务器实际的IP。 注意, 配置项listen_addresses 前面的#要去掉,逗号为英文逗号。

企业版openGauss也提供了命令可以直接修改: gs_guc reload -N opengauss -I all -c "listen_addresses='localhost,192.168.0.95' 其中opengauss 替换为实际的数据库名称,192.168.0.95替换为实际的数据库IP

修改pg_hba.conf

增加IP远程访问连接许可 host all all 0.0.0.0/0sha256 此外,企业版openGauss也提供了命令可以直接修改 gs_guc set -N all -I all -h "host all all 0.0.0.0/0 sha256" \

[root@jeames ~]# find / -name pg_hba.conf /opt/software/openGauss/data/single_node/pg_hba.conf /opt/pg_hba.conf /var/lib/pgsql/15/data/pg_hba.conf
[root@jeames ~]# vi /opt/software/openGauss/data/single_node/pg_hba.conf

重启数据库

方法1: [root@jeames ~]# su - omm --关闭 [omm@jeames ~]$ gs_om -t stop --启动 [omm@jeames ~]$ gs_om -t start 启动成功会显启动成功。
方法2: 极简版用下命令重启,根据实际情况替换。 gs_ctl restart -D /opt/software/openGauss/data/single_node/

2.2 业务用户创建

在openGauss创建业务用户并赋予权限 [omm@jeames ~]$ gsql -d postgres -p 5434 openGauss=# CREATE USER mesdb PASSWORD 'Gauss@123'; openGauss=# GRANT ALL PRIVILEGES TO mesdb; openGauss=# \du

 2.3 java环境

Java 版本要求1.8 及以上 [root@jeames ~]# rpm -qa | grep openjdk --服务器上有自带的jdk卸载 [root@jeames ~]# yum -y remove openjdk

1)解压安装包 [root@jeames ~]# cd /soft [root@jeames ~]# tar -zxf jdk-8u261-linux-x64.tar.gz -C /usr/lib/java [root@jeames soft]# ll /usr/lib/java/jdk1.8.0_261 total 25668 drwxr-xr-x 2 10143 10143     4096 Jun 18  2020 bin -r--r--r-- 1 10143 10143     3244 Jun 18  2020 COPYRIGHT drwxr-xr-x 3 10143 10143     4096 Jun 18  2020 include -rw-r--r-- 1 10143 10143  5219010 Jun 18  2020 javafx-src.zip -rw-r--r-- 1 10143 10143      195 Jun 18  2020 jmc.txt drwxr-xr-x 6 10143 10143     4096 Jun 18  2020 jre drwxr-xr-x 4 10143 10143     4096 Jun 18  2020 legal drwxr-xr-x 4 10143 10143     4096 Jun 18  2020 lib -r--r--r-- 1 10143 10143       44 Jun 18  2020 LICENSE drwxr-xr-x 4 10143 10143     4096 Jun 18  2020 man -r--r--r-- 1 10143 10143      159 Jun 18  2020 README.html -rw-r--r-- 1 10143 10143      424 Jun 18  2020 release -rw-r--r-- 1 10143 10143 21005583 Jun 18  2020 src.zip -rw-r--r-- 1 10143 10143      190 Jun 18  2020 THIRDPARTYLICENSEREADME-JAVAFX.txt -r--r--r-- 1 10143 10143      190 Jun 18  2020 THIRDPARTYLICENSEREADME.txt
2)vi打开 vi /etc/profile,在末尾位置放置下面的代码 export JAVA_HOME=/usr/lib/java/jdk1.8.0_261 export JRE_HOME={JAVA_HOME}/jre export CLASSPATH=.:{JAVA_HOME}/lib:{JRE_HOME}/lib:CLASSPATH export JAVA_PATH={JAVA_HOME}/bin:{JRE_HOME}/bin export PATH=PATH:{JAVA_PATH}
3)运行source /etc/profile
4)查看java -version [root@hfrptdb1 soft]# java -version java version "1.8.0_261" Java(TM) SE Runtime Environment (build 1.8.0_261-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)

03

Data Studio配置

Data Studio系统要求: CPU x86 64位 可用内存 1GB,可用磁盘1G以上 操作系统 Windows 7,Windows 10,Windows 2012/2016 支持的openGauss版本:1.0.1及之后版本 JAVA 版本要求1.8 及以上,可以使用Oracle或者Huawei JDK 。

步骤 1

下载链接:https://opengauss.org/zh/download/

步骤 2解压DataStudio_win_64.zip到本地

步骤 3找到Data Studio的解压目录,双击Data Studio.exe。

如果安装了jdk环境,此时会自动打开创建新连接的窗口,按照要求填写配置项即可

注意:名称自己定,主机和端口号为openGauss的服务器IP和安装时配置的端口,连接用户不能用omm)及对应密码。

04

DBeaver配置

下载DBeaver : https://dbeaver.io/download

windows的dbeaver-ce-21.3.2-x86_64-setup.exe,通过模拟版的安装方式,双击一路安装完成 。

步骤 1:

安装目录下启动dbeaver.exe,选择菜单 > 数据库> 驱动管理器,在弹出框中选择新建。

步骤 2:

在创建新驱动中选择库页签,然后添加文件选择本地的opengauss-jdbc-3.0.0.jar·,然后点击下面的找到类,选择下拉框里出来的驱动类

步骤 3:

切换到设置页签,URL模板输入:jdbc:opengauss://{host}:{port}/{database} 

点击确定后,驱动管理器就会出现新的openGauss的类型,点击关闭即可。

步骤 4:

选择 菜单 > 数据库 > 新建数据库连接,在弹出框选择 全部,搜索框输入openGauss

步骤 5:

在弹出框中填写openGauss主机IP、端口,要连接的数据库及用户名和密码,点击测试链接

05

DBeaver连接

  1. 选择菜单->数据库->新建连接, 在弹出的框中搜索上一步中新建的JDBC驱动名,选择后点击下一步,如下图示:

  2. 在弹出框中填写openGauss 主机地址、端口、将要连接的数据库以及认证用户名和密码,点击测试链接验证是否可正确连接,如图示:

  3. 测试结果OK后点击确认,并点击完成,则连接成功

  4. 左边的导航栏即可见数据库已经连接成功

06

DBeaver使用
SQL编写:选中要使 用的数据库,并按下F3(或使用菜单->SQL编辑器->SQL编辑器)即可打开SQL编写器,可以在编辑器中编写SQL和执行。

其他功能使用和其他客户端工具相似,请自行探索。

07

常见问题

  1. Javax.xml.bind.DatatypeConverter转换出错,如下图

**解决方法 *: 本地安装的java版本无javax.xml.bind.jar 这个包, 可以在添加JDBC驱动jar包时额外增加此包:https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api/2.2.2

也可以使用maven下载:

<!--https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api --> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.2.2</version> </dependency>.

  1. 提示No suitable driver found for jdbc:postgresql://xxx

解决方法:在添加JDBC驱动时不要勾选 'Use legacy JDBC instantiation':

相关推荐
十叶知秋15 分钟前
【jmeter】jmeter的线程组功能的详细介绍
数据库·jmeter·性能测试
瓜牛_gn2 小时前
mysql特性
数据库·mysql
奶糖趣多多3 小时前
Redis知识点
数据库·redis·缓存
CoderIsArt4 小时前
Redis的三种模式:主从模式,哨兵与集群模式
数据库·redis·缓存
师太,答应老衲吧6 小时前
SQL实战训练之,力扣:2020. 无流量的帐户数(递归)
数据库·sql·leetcode
Channing Lewis7 小时前
salesforce case可以新建一个roll up 字段,统计出这个case下的email数量吗
数据库·salesforce
毕业设计制作和分享8 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis
ketil278 小时前
Redis - String 字符串
数据库·redis·缓存
Hsu_kk9 小时前
MySQL 批量删除海量数据的几种方法
数据库·mysql
编程学无止境9 小时前
第02章 MySQL环境搭建
数据库·mysql