手记

Gbase8s跨数据库、实例访问

跨数据库访问表

访问同一实例内的其它数据库
表名使用格式:dbname:tablename 访问。例如:

select * from testdb2:table1

跨实例(跨服务器)访问表

前提条件:两实例不可同名。
当前数据库实例所使用的SQLHOSTS文件内要有目标实例的配置。
sqlhosts文件在安装目录的/etc

例如,有两台服务器不同的实例名,假设当前实例名为gbase1

实例名 IP
gbase1 192.168.48.128
gbase2 192.168.48.130

则gbase1的SQLHOSTS文件内应有以下内容:

gbase1 onstctcp host(gbase1) port(gbase1) #当前实例配置
gbase2 onsoctcp host(gbase2) port(gbase2) #目标实例配置

示例:

gbase1 onstctcp 192.168.48.128 9088
gbase2 onstctcp 192.168.48.130 9088

如果两个实例不在同一台服务器上,需要配置互信。
在gbasedbt主文件夹下新建.rhosts文件,写入对方数据库的主机名(IP)与用户名

su - gbasedbt
vim ~/.rhosts

写入:host(ip) gbasedbt;对方主机名,本机不需要写。

例如:192.168.48.128 gbasedbt #在130服务器中配置
192.168.48.130 gbasedbt #在128服务器中配置

可以使用dbaccess菜单工具直连对方数据库来进行测试,不输入用户名与密码
连接成功即为互信。

以上内容配置完成后,访问目标实例的表名使用以下格式:
dbname@gbase2 :tablename , 库名@实例名:表名
例如:

select * from testdb@gbase2:table1

0人推荐
随时随地看视频
慕课网APP