概述
gccli是GBase 8a MPP Cluster自带的命令行连接数据库工具。通过该工具可以执行SQL语句和外部SQL文件。可以独立安装在一个非集群环境的机器上,仅支持GBase 8a MPP Cluster支持的linux操作系统。
功能
通过gccli工具可以执行所有合法的sql和sql文件。
安装文件
gccli安装包:gccli-9.5.2.xx-OSversion-platform.tar.bz2
说明
gccli_install ----------gccli_install.sh (客户端程序包安装程序)
|
|
---------- gccli_standalone.tar.bz2 (客户端程序包)
工具安装
步骤1
使用系统用户在命令行模式下使用 tar 命令进行解压。解压命令如下:
$ tar xjf gccli-9.5.3.17-redhat7.3-x86_64.tar.bz2
步骤2
然后拷贝解压后的文件夹gccli_install内的内容到安装路径,在安装路径下执行安装程序:
./gccli_install.sh gccli_standalone.tar.bz2
步骤3
安装程序执行成功,屏幕显示如下:
gcluster/
gcluster/config/
gcluster/config/gbase_8a_gcluster.cnf
gcluster/server/
gcluster/server/lib/
gcluster/server/lib/gbase/
gcluster/server/lib/gbase/libgclusterclient_r.so.16
gcluster/server/bin/
gcluster/server/bin/gbase
Installation finished.
Please use /home/gbase/gccli_install/gcluster/server/bin/gccli
用户可以通过/home/gbase/gccli_install/gcluster/server/bin/gccli进行集群客户端使用。
语法
gccli –u<username> -p<password> [-h<ipaddress>] [-P<port>] [-D<databasename>] [--nice_time_format] [-c] [-f] [-v[v][v]] [-e] [<]
表 4‑38 参数说明
参数名称
说 明
–u
连接数据库的用户名称
-p
连接数据库的用户密码
-h
登录集群节点的IP 地址,默认127.0.0.1,可选参数。如果指定多个IP地址, 则启动gccli 的高可用功能,IP 地址之间采用“,”分隔,例如192.168.100.10,192.168.100.11,192.168.100.12
-P
集群使用的端口号,默认5258,可选参数
-D
可选参数-D 的参数值,指定登录时默认的数据库(数据库必须存在),可选参数
–nice_time_forma
指定用户操作耗时的最小精度,使用此参数,精确到毫秒,不使用,精确到秒。可选参数。
-c
使用此参数,用于使用hint 优化方式。可选参数;
–force,-f
批量执行SQL文件时,如果中间有SQL执行报错,强制执行后续SQL,可选参数;
–verbose,-v
冗长模式。产生更多的输出。可以多次使用该选项以产生更多的输出。(例如,-v -v -v甚至可以在批处理模式产生表输出格式)。
–version,-V
显示版本信息并退出。
–vertical,-E
垂直输出查询输出的行。没有该选项,可以用\G结尾来指定单个语句的垂直输出。
–execute=statement, -e statement
执行语句并退出,可以是多个语句,多个SQL以“;”隔开,可选参数;
–silent,-s
沉默模式。产生少的输出。可以多次使用该选项以产生更少的输出。
–skip-column-names,-N
在结果中不写列名。
–skip-line-numbers,-L
在错误信息中不写行号。当你想要比较包括错误消息的结果文件时有用。
–html,-H
产生HTML输出。
<、<<、 EOF接收输入的方式,可用于批量执行SQL文件,可选参数。
示例
示例1
[gbase@gcluster1 etc]$ gccli -ugbase -p
GBase client 9.5.3.17.117651. Copyright (c) 2004-2020, GBase. All Rights Reserved.
gbase> use vc myvc;
Query OK, 0 rows affected (Elapsed: 00:00:00.01)
示例2
$ gccli -ugbase -pgbase20110531 -Dgbase -vvv -e"select count(*) from user;select user from user";
--------------
select count(*) from user
--------------
+----------+
| count(*) |
+----------+
| 2 |
+----------+
1 row in set (Elapsed: 00:00:00.00)
--------------
select user from user
--------------
+------------------+
| user |
+------------------+
| gbase |
| root |
+------------------+
2 rows in set (Elapsed: 00:00:00.00)
Bye
示例3
$ cat 1.sql
select count(*) from user;
select user from user;
$ gccli -ugbase -pgbase20110531 -Dgbase -h192.168.1.1,192.168.1.2 -vvv <1.sql
--------------
select count(*) from user
--------------
+----------+
| count(*) |
+----------+
| 2 |
+----------+
1 row in set (Elapsed: 00:00:00.01)
--------------
select user from user
--------------
+------------------+
| user |
+------------------+
| gbase |
| root |
+------------------+
2 rows in set (Elapsed: 00:00:00.00)
Bye