目录

GBase 8c--多模多态分布式数据库

gbase8c默认值

gbase8c安装目录结构

gbase8c数据库基本操作

启动/关闭gbase8c

一些数据库命令行常用操作

进入/退出数据库命令行

gbase8c设置用户名密码尝试次数不受限制

gbase8c配置ipv6可访问

gbase8c远程连接

go语言实现远程连接gbase8c

dbeaver连接gbase8c

GBase 8s--基于共享存储的数据库集群

gbase8s默认值

gbase8s数据库基本操作

启动/停止数据库

查看端口状态

gbase8s配置ipv6和端口可访问

文件sqlhosts.gbaseserver

onconfig.gbaseserver文件

gbase8s远程连接

go语言远程连接gbase8s

dbeaver软件远程连接gabse8s

GBase 8a--分布式逻辑数据仓库

gbase8a默认值

gbase8a远程连接

go语言远程连接gbase8a

dbeaver软件远程连接gabse8a


GBase 8c--多模多态分布式数据库

GBase 8c是南大通用自主研发的一款多模多态的第三代智能分布式数据库,通过智能优化,智能运维,智能安全实现DB智能化,使GBase8c具备高性能、高可用、弹性伸缩、高安全性等智能特性。支持行存、列存、内存等多种存储模式,单机、主备式、分布式等多种部署形态和ORACLE、PG、MYSQL多种兼容模式,可以部署在物理机、虚拟机、容器、私有云和公有云,为关键行业核心系统、互联网业务系统和政企业务系统提供安全、稳定、可靠的数据存储和管理服务,满足各种应用场景。

gbase8c默认值

默认数据库名:postgres

默认端口:5432

默认用户名:gbase8c

默认密码:GBase123

gbase8c安装目录结构

gbase8c数据库基本操作
启动/关闭gbase8c

一般格式:gs_ctl二进制文件路径 start -D  数据库结点路径

# 启动数据库服务: start -D 数据库结点路径(一般都在data下)

/home/gbase/gbase8c_pkg/bin/gs_ctl start -D /home/gbase/gbase8c_pkg/data/single_node

# 停止数据库服务

/home/gbase/gbase8c_pkg/bin/gs_ctl stop -D /home/gbase/gbase8c_pkg/data/single_node

一些数据库命令行常用操作
进入/退出数据库命令行

# 进入数据库命令行

gsql -d 数据库名 -p 端口号

# 查询参数failed_login_attempts(限制用户名密码尝试次数,若超出,则锁定该用户名账户)

show failed_login_attempts;

# 退出数据库命令行

\q

gbase8c设置用户名密码尝试次数不受限制

 # 设置用户名密码尝试次数不受限制

gs_guc reload -D /home/gbase/gbase8c_pkg/data/single_node -c "failed_login_attempts=0";

gbase8c配置ipv6可访问

对于pg_hba.conf文件,如果主机需要远程连接数据库,必须在数据库系统的配置文件pg_hba.conf中增加此主机的信息,并且进行客户端接入认证。

配置文件pg_hba.conf存放在数据库的数据目录(../data/xxx-node/)里。hba(host-based authentication)表示是基于主机的认证

# 修改配置文件pg_hba.conf

vim /gbase8c安装路径/data/single_node/pg_hba. conf

# 在文件pg_hba. conf中增加一行,配置允许任意ipv6地址可以以任意用户连接到本机任意数据库

host         all         all         ::         sha256

# 然后重启数据库

当然,也可以在gbase8c命令行执行命令完成配置ipv6可访问

# 配置允许 IP 地址为 10.10.0.30 的客户端以“jack”用户连接到本机

gs_guc set -N all -I all -h "host all jack 10.10.0.30/32 sha256"

pg_hba.conf 文件的格式是一行写一条信息,表示一个认证规则,空白和注释(以#开 头)被忽略 

文件中一般格式,下面四种之一

local DATABASE USER METHOD [OPTIONS]

host DATABASE USER ADDRESS METHOD [OPTIONS]

hostssl DATABASE USER ADDRESS METHOD [OPTIONS]

hostnossl DATABASE USER ADDRESS METHOD [OPTIONS]

gbase8c远程连接
go语言实现远程连接gbase8c

可以用opengauss驱动连接gbase8c

package main

import (
   "database/sql"
   "fmt"
   _ "gitee.com/opengauss/openGauss-connector-go-pq"
)

func main() {
   connStr := "host=xx.xx.xx.xx port=5432 user=gbase8c password=GBase123 dbname=postgres sslmode=disable"
   db, err := sql.Open("opengauss", connStr)
   if err != nil {
      fmt.Println("open error:", db)
      return
   }

   defer db.Close()
   err = db.Ping()
   if err != nil {
      fmt.Println("Ping error:", db)
      return
   }
   fmt.Println("success")
}

###运行结果显示success即为连接成功
dbeaver连接gbase8c

dbeaver中默认没有gbase8c相关驱动,得自己创建

新建驱动器

添加jar驱动文件

设置驱动url

类名和url中的驱动名保持一致

新建数据库连接

GBase 8s--基于共享存储的数据库集群

GBase 8s是天津南大通用数据技术股份有限公司自主研发的、成熟稳定的基于共享存储的数据库集群,拥有自主知识产权。产品达到安全数据库四级标准(国际B2),支持国密算法,支持SQL92/99、ODBC、JDBC、ADO.NET、GCI(OCI/OCCI)、Python接口等国际数据库规范和开发接口。支持集中式部署、共享存储高可用部署、两地三中心高可用部署,具备高容量、高并发、高性能等特性。

gbase8s默认值

默认数据库名:testdb

默认端口:9088

默认用户名:gbasedbt

默认密码:GBase123

gbase8s数据库基本操作
启动/停止数据库

# 进入docker拉的gbase8s容器后台

su gbasedbt

cd ~

# 启动命令

oninit -vy

# 停止命令

onmode -ky

查看端口状态

 # 查看绑定端口状态

onstat -g ntt

gbase8s配置ipv6和端口可访问

sqlhosts.gbaseserver和onconfig.gbaseserver是gbase8s数据库的配置文件,可修改此文件类更改数据库的ip和端口配置

文件sqlhosts.gbaseserver

文件中,每一行的规则是: 服务名名字 onsoctcp IP地址 端口号(若是这里的服务名被修改了,则onconfig.gbaseserver中对应感到服务名也应一同修改)

vim /opt/GBASE/gbase/etc/sqlhosts.gbaseserver

# gbaseserver onsoctcp 0.0.0.0 9088代表可以通过任意ipv4地址远程访问该数据库

onconfig.gbaseserver文件

文件中,DBSERVERNAME gbaseserver是指定ipv4的服务名为gbaseserver,DBSERVERALIASES gbaseserver_ip6是指定ipv6的服务名为gbaseserver_ip6

 # 更改onconfig.gbaseserver文件中的ipv4或ipv6的服务名字

vim /opt/GBASE/gbase/etc/onconfig.gbaseserver

gbase8s远程连接
go语言远程连接gbase8s

查了下,目前gbase8s在go语言中没有写好的连接驱动,若是要通过go语言实现远程连接,需要抓包分析报文,通过模拟dbeaver远程连接gabse8s时的收发包过程,用go语言中的net包中的Write()和Read()函数实现远程连接。

至于发包内容,需要借助dbeaver连接时发的包,然后拼接上自己数据库的用户名密码数据库名信息即可

数据包交互过程中,gabse8s的数据库密码是经过了专用加密的,加密算法在其官方有介绍。可通过官方提供的二进制文件gbspwdenc对密码进行加密。详见该网址GBase 8s 传输加密SSL配置 | GBase 8s开发与管理

dbeaver软件远程连接gabse8s

新建驱动器,添加jar驱动文件

设置驱动url

新建数据库连接

GBase 8a--分布式逻辑数据仓库

南大通用自主研发的GBase 8a MPP Cluster是大数据时代成熟的分析型 MPP 数据库。具有联邦构架、海量数据分布式、高效压缩、高效存储结构、智能索引、灵活的数据分布、在线高性能扩展、高并发、高可用、高安全性、易维护、高效加载等核心优势。

gbase8a默认值

默认数据库名:gbase

默认端口:5258

gbase8a远程连接
go语言远程连接gbase8a

go语言可通过mysql的内置数据库连接函数实现对gbase8a的远程连接

package main

import (
	"database/sql"
	"fmt"
	_ "github.com/go-sql-driver/mysql"
)

func main() {
	ip := "xx.xx.xx.xx"  //ip
	port := "5258"    //port
	usr := "root"     //数据库用户名
	password := "root"    //数据库密码
	sid := "gbase"    //数据库名
	connStr := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8&parseTime=true&loc=Local", usr, password, ip, port, sid)
	db, err := sql.Open("mysql", connStr)
	if err != nil {
		fmt.Println("open error", err)
		return

	}
	err = db.Ping()  //err为nil即为连接成功
	if err != nil {
		fmt.Println("ping error", err)
		return
	}
	fmt.Println("success") 
}
dbeaver软件远程连接gabse8a

新建驱动器,添加jar驱动文件

设置驱动url

新建数据库连接,输入用户名、密码、数据库名进行连接

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐