GBase8a MPP Cluster集群命令行客户端gccli和gncli的使用参数

GBase 8a数据库集群,在linux提供了命令行工具gccli和gncli。其中gccli连接的是整个集群,其SQL也会分发到所有节点执行;gncli只连接集群某个节点。对应的普通分布表,在gccli里看到的是简单的表名,比如t1,在gncli里则包含了节点分片的名字,比如t1_n3。

日常使用都是用gccli,只有必须处理单个节点数据时,才使用gncli。

gccli 对应/opt/gbase/gcluster/server/bin/gbase
gncli 对应/opt/gbase/gnode/server/bin/gbase

他们是软连接。

连接参数

  • -h 指定连接哪个IP
  • -u 数据库用户名
  • -p 数据库密码
  • -e 直接执行这个SQL
  • -D 指定默认的数据库
  • -E 垂直输出,类似单条\G的效果
  • -c 可以执行hint,不指定时默认是将/* */之间的当作注释自动过滤掉,不发送到服务器。
  • -vvv 输出详细的执行信息,比如执行时间等
  • -N 不输出结果表头,只输出结果
  • -f 如语句执行报错则跳过,继续执行后面SQL
  • -P 指定端口号
  • -s 减少输出 silent

其中-p参数如果后面紧跟字符则认定为密码,其它参数可以紧跟或者出现空格,比如

-ugbase 和  -u gbase 都是正确的。但建议采用紧跟的方式,以便区分。

执行样例

典型样例

gccli -h192.168.174.161 -ugbase -pgbase20110531 -Dzxvmax

06

批量执行sql文件

用重定向方式执行

用SQL, source文件名的方式执行

-E 垂直输出的效果

如下是对比的输出效果

[gbase@gbase_rh7_001 ~]$ gccli testdb -e"select * from t1 limit 2"  -vvv
--------------
select * from t1 limit 2
--------------

+------+--------+------+------------+--------------------------------+
| id   | name   | dept | birth      | memo                           |
+------+--------+------+------------+--------------------------------+
|    1 | aa     |    1 | 1990-09-09 | 张三的个人建立和备注           |
|    2 | 李四   |    1 | 1980-08-08 | 李四的个人建立和备注           |
+------+--------+------+------------+--------------------------------+
2 rows in set (Elapsed: 00:00:00.01)

Bye
[gbase@gbase_rh7_001 ~]$ gccli testdb -e"select * from t1 limit 2"  -vvv -E
--------------
select * from t1 limit 2
--------------

*************************** 1. row ***************************
   id: 1
 name: aa
 dept: 1
birth: 1990-09-09
 memo: 张三的个人建立和备注
*************************** 2. row ***************************
   id: 2
 name: 李四
 dept: 1
birth: 1980-08-08
 memo: 李四的个人建立和备注
2 rows in set (Elapsed: 00:00:00.02)

Bye
[gbase@gbase_rh7_001 ~]$

单条语句\G的效果

[gbase@gbase_rh7_001 ~]$ gccli testdb -e"select * from t1 limit 2\G"  -vvv
--------------
select * from t1 limit 2
--------------

*************************** 1. row ***************************
   id: 1
 name: aa
 dept: 1
birth: 1990-09-09
 memo: 张三的个人建立和备注
*************************** 2. row ***************************
   id: 2
 name: 李四
 dept: 1
birth: 1980-08-08
 memo: 李四的个人建立和备注
2 rows in set (Elapsed: 00:00:00.01)

Bye
[gbase@gbase_rh7_001 ~]$

-s 减少输出的效果

[gbase@gbase_rh7_001 ~]$ gccli testdb -e"select * from t1 limit 2"
+------+--------+------+------------+--------------------------------+
| id   | name   | dept | birth      | memo                           |
+------+--------+------+------------+--------------------------------+
|    1 | aa     |    1 | 1990-09-09 | 张三的个人建立和备注           |
|    2 | 李四   |    1 | 1980-08-08 | 李四的个人建立和备注           |
+------+--------+------+------------+--------------------------------+
[gbase@gbase_rh7_001 ~]$ gccli testdb -e"select * from t1 limit 2" -s
id      name    dept    birth   memo
1       aa      1       1990-09-09      张三的个人建立和备注
2       李四    1       1980-08-08      李四的个人建立和备注

GBase8a MPP Cluster集群命令行客户端gccli和gncli的使用参数》有1条评论

发表评论

您的电子邮箱地址不会被公开。