GaussDB 200远程登陆配置

摘要:
在上一篇文章中安装GaussDB200之后,本文将讨论如何将此环境用于某些开发测试,尤其是使用Data Studio$gsql-dpostgres-p25308postgres=#CREATEUSERtestuserWITHPASSWORD进行远程访问Test@123“;CREATE ROLE postgres=#CREATE DATABASE testdb;CREATE DATABASE从管理员注销后,尝试使用新帐户$登录gsql-dtestdb-p25308-Utestuser-WTest@123gsqlNon-SSLconnectionType“帮助”寻求帮助。创建测试表testdb=˃createtable1;注意:未指定“DISTRIBUTBY”列。默认情况下使用“c1”分配列。提示:请使用“DISTRIBOTTEBY”列指定合适的数据分配列。CREATETABLEtestdb=˃插入t1值;INSERT01testdb=˃插入t1值;INSERT01testdb=˃从t1中选择*;C1|c2------+--------world|2hello|102使用GUI工具远程登录。方法1。打开远程连接的访问控制。添加要连接到侦听地址列表的主机IP。方法2。使用SSH端口转发GUI连接。首先,使用终端工具连接到GaussDB的服务器并配置端口转发。以Putty为例,将本地25308端口映射到GaussDB主机的25308端口。

上篇安装完成GaussDB 200之后,本文讲一下如何使用这个环境做些开发测试,特别是使用Data Studio进行远程访问。

01 创建用户、数据库

首先,用管理员登陆,创建测试用户和测试数据库。

$ gsql -d postgres -p 25308
postgres=# CREATE USER testuser WITH PASSWORD "Test@123";                                  
CREATE ROLE
postgres=# CREATE DATABASE testdb;
	CREATE DATABASE

登出管理员之后,尝试使用新建的账号进行登陆

$ gsql -d testdb -p 25308 -U testuser -W Test@123
gsql ((GaussDB Kernel V300R002C00 build 8a9c1eb6) compiled at 2019-08-01 18:47:38 commit 6093 last mr 10175 )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

创建测试表

testdb=> create table t1 (c1 varchar(20), c2 int);
NOTICE:  The 'DISTRIBUTE BY' clause is not specified. Using 'c1' as the distribution column by default.
HINT:  Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column.
CREATE TABLE
testdb=> insert into t1 values ('hello', 1);
INSERT 0 1
testdb=> insert into t1 values ('world', 2);            
INSERT 0 1
testdb=> select * from t1;
  c1   | c2 
-------+----
 world |  2
 hello |  1
(2 rows)
02 使用GUI工具远程登陆

方法一、打开访问控制进行远程连接

将需要连接的主机IP添加到监听地址列表。

#	切换到omm用户
# su - omm

# 查看已有的监听地址
$ gs_guc check -Z coordinator -I all -c "listen_addresses"
expected guc information: host0: listen_addresses=NULL: [/srv/Bigdata/mppdb/data1/coordinator/postgresql.conf]
gs_guc check: host0: listen_addresses='localhost,192.168.2.111': [/srv/Bigdata/mppdb/data1/coordinator/postgresql.conf]

Total GUC values: 1. Failed GUC values: 0.
The value of parameter listen_addresses is same on all instances.
    listen_addresses='localhost,192.168.2.111'

# 添加远程访问机器的IP
gs_guc set -I all -Z coordinator -c "listen_addresses='localhost,192.168.2.111,192.168.2.112'"
expected instance path: [/srv/Bigdata/mppdb/data1/coordinator/postgresql.conf]
gs_guc set: listen_addresses='localhost,192.168.2.111,192.168.2.112': [/srv/Bigdata/mppdb/data1/coordinator/postgresql.conf]

Total instances: 1. Failed instances: 0.
Success to perform gs_guc!

# 添加密码登陆方式
$ gs_guc set -Z coordinator -N all -I all -h "host all testuser 192.168.1.112/32 sha256"
Begin to perform gs_guc for all coordinators.

Total instances: 1. Failed instances: 0.
Success to perform gs_guc!

# 重启数据库实例使配置生效
$ gs_om -t stop
$ cm_ctl query
$ cm_ctl start
$ gs_om -t start

然后,找一个Windows的终端,解压Data Studio之后按以下信息进行连接配置。

GaussDB 200远程登陆配置第1张

但是在我的小内存情况下,一旦改了以上配置之后,就会造成数据库实例启动不起来,并且日志有There is insufficient memory for the Java Runtime Environment to continue.错误,可能就是增加监听造成了内存不足。

于是考虑不修改配置,尝试使用ssh端口转发的方式进行连接,在远程主机上模拟本地访问。

方式二、使用SSH端口转发GUI连接

首先,使用终端工具连接GaussDB的服务器,并配置端口转发。这里以Putty为例,将本地的25308端口映射到GaussDB主机的25308端口。

GaussDB 200远程登陆配置第2张

然后,在Data Studio配置连接本地的25308端口,让ssh转发到GaussDB主机上。

GaussDB 200远程登陆配置第3张

最后,登陆连接,查询刚才新建的t1表进行测试。

GaussDB 200远程登陆配置第4张

可以看到成功的查询出通过命令行插入的两条数据。

03 总结
  1. 通常情况下,远程连接需要在主机上增加监听IP和登陆控制配置;
  2. 在小内存测试主机上,增加监听可能造成数据库实例无法启动;
  3. 可以通过SSH端口转发的方式,另辟蹊径实现工具的远程访问。

欢迎扫描二维码关注公众号,可以手机访问文章
GaussDB 200远程登陆配置第5张

免责声明:文章转载自《GaussDB 200远程登陆配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇IDEA禁止更新笔试算法题(44):简介下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

oracle的热备份和冷备份

一、冷备份介绍:    冷备份数据库是将数据库关闭之后备份所有的关键性文件包括数据文件、控制文件、联机REDO LOG文件,将其拷贝到另外的位置。此外冷备份也可以包含对参数文件和口令文件的备份,但是这两种备份是可以根据需要进行选择的。,冷备份实际也是一种物理备份,是一个备份数据库物理文件的过程。因为冷备份要备份除了重做日志以外的所有数据库文件,因此也被成为...

SQL Server2012数据库开启远程连接

在我们使用SQL Server数据库的时候很重要的一点就是开启数据库的远程连接,这是因为很多时候数据库部署在远程的服务器上会比较方便,而部署在客户端的话,由于客户端不固定,所以需要经常去部署,这样容易经常去改变数据库,从而造成系统不稳定,但是部署在服务器上我们需要远程连接,而当我们安装好一个数据库之后,默认是不开启数据库远程连接的,那么该怎样一步步去打开远...

通过mybatis向数据库中插入日期数据

遇到的问题: 通过mybatis向数据库中插入日期格式数据,发现只有年月日, 没有小时分钟和秒 当你想在实体类中使用java.util.Date类型,而且还想在数据库中保存时分秒时, 解决办法: 你可以在xml中修改为: #{xxdate,jdbcType=TIMESTAMP} 就是将#{}中的jdbcType属性设置成TIMESTAMP,这样在保存的时候...

Web后台快速开发框架(.NET Core)

Web后台快速开发框架(.NET Core) Coldairarrow 目录 目录 第1章    目录    1 第2章    简介    3 第3章    基础准备    4 3.1    开发环境要求    4 3.2    基础数据库构建    4 3.3    运行    5 第4章    详细教程    7 4.1    代码架构    ...

网站开发(周四):项目后台数据管理(实战)

前言:Django是通过模型(Model)来操作数据库,Django能自动根据模型代码中定义的类自动生成相应数据库表,也即Django自动帮我们把代码转化成SQL语句,然后再执行SQL语句生成相应数据库表。每个模型都是django.db.models.Model的子类,每个模型在Django中的存在形式为一个Python类,模型里的每个类代表数据库中的一个...

数据库粗浅了解

数据库系统: 数据库:管理文件的文件夹,类似为windows的目录结构 数据表:数据库中的文件表,类似于windows目前中的excl 表记录:一条数据,一行数据可以称为一个对象或者可以称为一条记录,列可以称为字段 数据库管理软件: mysql:开源,已被Oracle公司收购,mysql后期是否开源还是未知,所以出现了一个mysql的分支MariaDB, ...