1、修改数据源端配置:
解压网关工具包,然后进行源端和目标端的配置。源端配置文件目录为:[网关安装目录]/conf/datasource/gc_link1.properties的文件,不同数据源可以创建不同名称的以.properties结尾的源文件,配置文件中的参数说明如下。
[root@server ~]# cat [网关安装目录]/conf/dataSource/gc_link1.properties
[ds1]
dataSource_IP=10.10.5.60 #源端机器ip
dataSource_port=5258 #端口号
dataSource_dbname=test #要访问的源端的数据库
dataSource_dbtype=gcluster #8a集群填写gcluster
dataSource_user=gbase #连接源端时访问的数据库用户
dataSource_pwd=gbase20110531 #数据库用户密码
dataSource_charset=utf8 #字符集设置
2、修改目标端配置:
目标端配置文件目录为:[网关安装目录]/conf/gcluster/gbase8a_gcluster.properties。配置文件中的参数说明如下。注意:目标端配置文件名不允许修改,所有目标端配置都配置在这一个文件中即可,[gc名称]按数字递增即可。
[root@server ~]#$ cat [网关安装目录]/conf/gcluster/gbase8a_gcluster.properties
[gc1]
gcluster_IP=10.10.7.196 #目标端机器ip
gcluster_port=5258 #gcluster层端口号
gcluster_user=gbase #目标端数据库用户
gcluster_pwd=gbase20110531 #数据库用户密码
gcluster_encode=utf8
[gc2]
gcluster_IP=10.10.7.196 #目标端机器ip
gcluster_port=5050 #gnode层端口号
gcluster_user=gbase #目标端数据库用户
gcluster_pwd=gbase20110531 #数据库用户密码
gcluster_encode=utf8
3、目标端添加网关信息:
在目标端集群中添加网关信息,通过修改集群层配置文件进行添加,修改后重启gcluster服务使其生效。在目标集群的gcluster层配置文件gbase_8a_gcluster.cnf 中[gbased]下加入网关信息。
[root@server ~]# cat [集群安装目录]/gcluster/config/gbase_8a_gcluster.cnf
[gbased]
.....
gbase_dblink_gateway_ip=10.10.5.60 #网关所在ip
gbase_dblink_gateway_port=9898 #网关端口
.......
4、启动网关:
在网关[安装目录]下有gbaseGateway.sh文件,执行命令启动网关。
[root@server ~]#sh gbaseGateway.sh start
5、创建dblink:
网关部署完成后,在目标集群创建dblink并使用。创建dblink命令:create database link <link名称> connect to '<目标端数据库用户,可不填>' identified by '<目标端数据库用户密码,可不填>' using '<源端配置文件名称:gc_link1>';。举例如下:
[root@server ~]#gccli -uu1 -p111111
gbase>create database link link1 connect to 'u1' identified by '111111' using 'gc_link1';
注意:
如果不填写connect to的用户和密码,则会根据目标端配置文件中的用户配置进行连接。
6、使用dblink:
dblink使用包括对dblink表的查询、数据拉取、数据推送、直通模式,相关语法说明如下。
查询
select * from <源端表>@<link名>;
拉取数据
insert into <本地表> select * from <源端表>@<link名>;
create table tt as select * from <源端表>@<link名>;
数据推送
insert into <源端表>@<link名> select * from <本地表>;
直通模式
passthrough link <link名> using 'create table t1(i int,v varchar(30))';
passthrough link <link名> using 'insert into t1 values(1,\'花\'),(2,\'树\')';
passthrough link <link名> using 'drop table t1';
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。