GBase 8a
备份恢复
文章

GBase8a 集群管理 gcadmin

发表于2024-12-18 13:11:2614次浏览2个评论

备份与恢复演练

备份恢复

集群级备份是对 8a 集群整体做备份,不能指定某个 VC 做备份恢复,备份时需要将 8a 集群设置为只读状态,如果数据量巨大,则备份时间很长,会影响数据库其他操作。对于大数据量的 8a 集群,为了减少备份时长对整个系统的影响,也为了减少备份空间,有些用户会选择只备份一个数据库或个别重要的表进行备份,而非所有数据全部备份。

支持集群级、库级、表级的备份恢复

下面以单库备份恢复为例,说明整个库级备份恢复操作过程。

库级备份目录要跟集群级备份目录不同,各节点重新创建库级备份目录,库级备份不要求集群状态必须为 readonly 只读状态。

库级恢复前要求恢复库名不存在才能执行恢复操作,恢复后不能直接查询库中的表数据,可重启 8a 服务或者 refresh 刷新库中的表才能查询表数据。

  1. 前期准备

备份数据库配置文件,主要为数据库集群,每个节点gcluster配置文件、gnode配置文件、show variables结果;

各个节点新建备份目录(实例级、库级、表级)

mkdir -p /home/gbase/back

mkdir -p /home/gbase/back_db/

mkdir -p /home/gbase/back_tb/
--实例级全量备份(空库备份)

# gcadmin switchmode readonly

# python $GCLUSTER_HOME/bin/gcrcman.py -p'gbase20110531' -d /home/gbase/back/

gbase> backup level 0

gbase> show backup

gbase> quit

# gcadmin switchmode normal

--创建库db1,然后在db1下创建表t1并且插入数据

# gccli -vvv -e"create database db1;"

# gccli -vvv -e"create table db1.t1(ID int, name varchar(10));"

# gccli -vvv -e"insert into db1.t1 values (1,'zhang'),(2,'wang');"

# gccli -vvv -e"select * from db1.t1;"

  1. 集群级备份恢复

集群级备份是对所有的节点所有对象进行备份。

  1. 集群级备份前,新建集群级备份目录在各个节点上创建集群级备份目录 /home/gbase/backup,gbase 用户具有读写权限;

[gbase@162 ~]$ mkdir -p /home/gbase/backup 

[gbase@163 ~]$ mkdir -p /home/gbase/backup 

[gbase@164 ~]$ mkdir -p /home/gbase/backup

2. 集群级备份前,数据库切换成只读状态。 备份前需要将集群切换成只读状态,只需在任一个管理节点执行即可。

$ gcadmin switchmode readonly
========== switch cluster mode... 

switch pre mode:   [NORMAL]
switch mode to             [READONLY]

switch after mode:       [READONLY] 

查看集群状态是 readonly 模式 

[gbase@162 ~]$ gcadmin
CLUSTER STATE: ACTIVE 

VIRTUAL CLUSTER MODE: READONLY ... 

3. 集群级进行全量备份:
第一次备份必须是全量备份(backup level 0) ,有了全备之后,才可以执行增量备份,增量备份要在全量备份的基础上进行。
gcrcman.py 参数说明: -

d 备份目录

-P linux 账户 gbase 密码

--p 数据库 gbase 用户密码

[gbase@162 ~]$ gcrcman.py -d /home/gbase/backup/ -P gbase8a -p gbase20110531 gcrcman>backup level 0
09.01 02:16:16 BackUp start
--------------------------------------------
09.01 02:16:16 node (172.16.9.162) backup begin
09.01 02:16:16 node (172.16.9.163) backup begin
09.01 02:16:16 node (172.16.9.164) backup begin
09.01 02:16:49 node (172.16.9.162) backup success
09.01 02:16:49 node (172.16.9.163) backup success
09.01 02:16:49 node (172.16.9.164) backup success --------------------------------------------
09.01 02:16:50 BackUp end
gcrcman>show backup
cycle point level time
0 0 0 2022-09-01 02:16:16
gcrcman>quit 

第一次全备生成 0 备份周期 0 备份点 

4. 将8a集群设置为normal 

[gbase@162 ~]$ gcadmin switchmode normal  

========== switch cluster mode... 

switch pre mode:  [READONLY]

switch mode to             [NORMAL]

switch after mode:       [NORMAL]

5. 对8a集群数据库做一些SQL操作

[gbase@162 ~]$ gccli -uroot -p 

新建一个 t1 表,插入 6 条数据。 

gbase> show databases; 

+----------------------------+
| Database                | 

+----------------------------+ 

| information_schema  |
| performance_schema |
| gbase                       |
| gctmpdb                   |
| gclusterdb                |
| test                          |

+-----------------------------+
6 rows in set (Elapsed: 00:00:00.00) 

gbase> use test;
Query OK, 0 rows affected (Elapsed: 00:00:00.00) 

gbase> create table t1(i int ,j varchar(20)); 

Query OK, 0 rows affected (Elapsed: 00:00:00.17) 

gbase> insert into t1 values(1,'a'),(2,'b'),(3,'c'); 

Query OK, 3 rows affected (Elapsed: 00:00:00.11) 

Records: 3 Duplicates: 0 Warnings: 0 

gbase> insert into t1 select * from t1;
Query OK, 3 rows affected (Elapsed: 00:00:00.21) Records: 3 Duplicates: 0 Warnings: 0 

gbase> select count(*) from t1; 

+-----------+
| count(*) |
+-----------+ 

|6           |
+-----------+
1 row in set (Elapsed: 00:00:00.04) 

gbase> exit

Bye

6. 执行一次增量备份操作
将集群设置为只读模式 用命令行方式执行增量备份命令(使用-e “backup level 1”参数执行) 

[gbase@162 ~]$ gcadmin switchmode readonly 

"backup level 1" -P gbase8a -p  

begin

success

========== switch cluster mode... 

switch pre mode:         [NORMAL]

switch mode to                    [READONLY]

switch after mode:              [READONLY] 

[gbase@162 ~]$ gcrcman.py -d /home/gbase/backup/ -e gbase20110531
09.01 02:30:57 check cluster topology begin
09.01 02:30:57 node (172.16.9.162) check topology 

09.01 02:31:01 node (172.16.9.162) check topology 

09.01 02:31:01 check cluster topology end 

09.01 02:31:01 BackUp start 

--------------------------------------------
09.01 02:31:01 node (172.16.9.162) backup begin 

09.01 02:31:01 node (172.16.9.163) backup begin 

09.01 02:31:01 node (172.16.9.164) backup begin 

09.01 02:31:38 node (172.16.9.162) backup success 

09.01 02:31:38 node (172.16.9.163) backup success 

09.01 02:31:38 node (172.16.9.164) backup success 

--------------------------------------------
09.01 02:31:38 BackUp end

7. 模拟误删除t1数据
将 8a 集群设置为 normal,然后删除 t1 表所有数据

 [gbase@162 ~]$ gcadmin switchmode normal 

========== switch cluster mode... 

switch pre mode:     [READONLY]

switch mode to      [NORMAL]

switch after mode:   [NORMAL] 

[gbase@162 ~]$ gccli -uroot -p Enter password: 

GBase client 9.5.2.39.126761. Copyright (c) 2004-2022, GBase. All Rights Reserved. 

gbase> use test;
Query OK, 0 rows affected (Elapsed: 00:00:00.00) 

gbase> show tables; 

+-------------------+
| Tables_in_test | 

+-------------------+ 

|               t |
|             t1 | 

+--------------------+
2 rows in set (Elapsed: 00:00:00.00) 

gbase> select count(*) from t1; 

+-----------+
| count(*) |
+-----------+ 

|        6 |
+-----------+
1 row in set (Elapsed: 00:00:00.05) 

gbase> delete from t1;
Query OK, 6 rows affected (Elapsed: 00:00:00.12) 

gbase> select count(*) from t1; 

+------------+
| count(*) |
+------------+ 

|        0 |
+-----------+
1 row in set (Elapsed: 00:00:00.03) 

gbase> exit
Bye

8. 执行恢复前将8a集群切换到recovery状态** 

数据库执行恢复命令前需将集群切换到 recovery 状态 

$ gcadmin switchmode recovery 

备注: 将全部数据恢复到备份的时间点,可能会丢失备份后操作的数据,正式环境谨慎操作!! 

[gbase@162 ~]$ gcadmin switchmode recovery 

========== switch cluster mode... 

switch pre mode:   [NORMAL]
switch mode to             [RECOVERY]
switch after mode:       [RECOVERY] 

-- 查看 8a 集群状态
[gbase@162 ~]$ gcadmin
CLUSTER STATE: ACTIVE 

VIRTUAL CLUSTER MODE: RECOVERY ... 

9. 执行集群级恢复命令

[gbase@162 ~]$ gcrcman.py -d /home/gbase/backup/ -P gbase8a -p gbase20110531 

-- 查看备份记录,2 个备份,一个全备,一个增备
gcrcman>show backup
cycle point level time
  0    0    0  2022-09-01 02:16:16
  0    1    1  2022-09-01 02:31:01
gcrcman>recover 0 1 

09.01 18:06:12     check cluster topology begin
09.01 18:06:12     node (172.16.9.162) check topology begin
09.01 18:06:16     node (172.16.9.162) check topology success
09.01 18:06:16     check cluster topology end
09.01 18:06:16 check BackUp start

--------------------------------------------
09.01 18:06:16 node (172.16.9.162) check backup begin 

09.01 18:06:16 node (172.16.9.163) check backup begin 

09.01 18:06:16 node (172.16.9.164) check backup begin 

09.01 18:06:38 node (172.16.9.162) check backup success 

09.01 18:06:38 node (172.16.9.163) check backup success 

09.01 18:06:38 node (172.16.9.164) check backup success -------------------------------------------- 

09.01 18:06:38 check BackUp success
09.01 18:06:38 Recover start 

--------------------------------------------  

09.01 18:06:39 node (172.16.9.162) Recover begin

09.01 18:06:39 node (172.16.9.163) Recover begin

09.01 18:06:39 node (172.16.9.164) Recover begin

09.01 18:07:19 node (172.16.9.162) Recover success

09.01 18:07:19 node (172.16.9.163) Recover success

09.01 18:07:19 node (172.16.9.164) Recover success

--------------------------------------------  

09.01 18:07:20 Recover success 

gcrcman>quit

[gbase@162 ~]$

10. 8a 集群切换为 normal 状态 

恢复操作完成后,将 8a 集群切换到 normal 状态 

[gbase@162 ~]$ gcadmin switchmode normal  

========== switch cluster mode... 

switch pre mode:  [RECOVERY]

switch mode to             [NORMAL]

switch after mode:       [NORMAL]

然后查看 test.t1 表,发现 t1 表数据恢复了。 

[gbase@162 ~]$ gccli -uroot -p -D test Enter password: 

GBase client 9.5.2.39.126761. Copyright (c) 2004-2022, GBase. All Rights Reserved. 

gbase> select * from t1; 

+----+----+ 

|     i|    j| 

+----+----+ 

|     1|   a| 

|     2|   b| 

|     3|   c| 

|     1|   a|

|     2|   b| 

|     3|   c| 

+-----+----+ 

6 rows in set (Elapsed: 00:00:00.07)

以上是完整的 8a 集群级备份恢复实操过程。

  1. 库级备份恢复

集群级备份是对 8a 集群整体做备份,备份时需要将 8a 集群设置为只读状态,如果数据量巨大,则备份时间很长,会影响数据库其他操作。对于大数据量的 8a 集群,为 了减少备份时长对整个系统的影响,也为了减少备份空间,有些用户会选择只备份一个数据库或个别 重要的表进行备份,而非所有数据全部备份。

下面以单库备份恢复为例,说明整个库级备份恢复操作过程。 库级备份目录要跟集群级备份目录不同,各节点重新创建库级备份目录,库级备份不要求集群状态必 须为 readonly 只读状态。

库级恢复前要求恢复库名不存在才能执行恢复操作,恢复后不能直接查询库中的表数据,可重启 8a 服务或者 refresh 刷新库中的表才能查询表数据。

  1. 数据库级备份前,在集群节点上创建新的表备份目录

[gbase@162 ~]$ mkdir /home/gbase/db-back
[gbase@163 ~]$ mkdir /home/gbase/db-back
[gbase@164 ~]$ mkdir /home/gbase/db-back 

  1. 查询数据库信息

[gbase@162 ~]$ gccli -uroot -p Enter password: 

gbase> show databases; 

+---------------------------+
| Database             | 

+---------------------------+
| information_schema  |
| performance_schema |
| gbase                       |
| gctmpdb                   |
| gclusterdb                |
| test                          | 

+-----------------------------+
6 rows in set (Elapsed: 00:00:00.00) 

gbase> exit

Bye

[gbase@162 ~]$

  1. 对test数据库做全量备份

[gbase@162 ~]$ gcrcman.py -d /home/gbase/db-back -P gbase8a -p gbase20110531 gcrcman>backup database test level 0
09.01 23:33:38 BackUp database test start 

--------------------------------------------  

09.01 23:33:39 node (172.16.9.162) backup database begin 

09.01 23:33:39 node (172.16.9.163) backup database begin 

09.01 23:33:39 node (172.16.9.164) backup database begin 

09.01 23:34:10 node (172.16.9.162) backup database success 

09.01 23:34:10 node (172.16.9.163) backup database success 

09.01 23:34:10 node (172.16.9.164) backup database success -------------------------------------------- 

09.01 23:34:10 BackUp database test end 

gcrcman>show backup
cycle  point  level  time
  0     0.       0   2022-09-01 23:33:39 

gcrcman>quit 

[gbase@162 ~]$

  1. 模拟在test1库中新创建表t2 

[gbase@162 ~]$ gccli -uroot -p
Enter password:
gbase> use test;
Query OK, 0 rows affected (Elapsed: 00:00:00.00) 

gbase> create table t2(a int,b varchar(20)); 

Query OK, 0 rows affected (Elapsed: 00:00:00.15) 

gbase> insert into t2 select * from t1;
Query OK, 6 rows affected (Elapsed: 00:00:00.16) 

Records: 6 Duplicates: 0 Warnings: 0 

gbase> select count(*) from t2; 

+----------+
| count(*) |
+----------+ 

|6|
+----------+
1 row in set (Elapsed: 00:00:00.03) 

gbase> exit

Bye

  1. 对test库做增量备份

[gbase@162 ~]$ gcrcman.py -d /home/gbase/db-back -P gbase8a -p gbase20110531 gcrcman>backup database test level 1
09.01 23:43:19 BackUp database test start 

--------------------------------------------
09.01 23:43:20 node (172.16.9.162) backup database begin
09.01 23:43:20 node (172.16.9.163) backup database begin
09.01 23:43:20 node (172.16.9.164) backup database begin
09.01 23:43:52 node (172.16.9.162) backup database success 

09.01 23:43:52 node (172.16.9.163) backup database success 

09.01 23:43:52 node (172.16.9.164) backup database success --------------------------------------------
09.01 23:43:52 BackUp database test end 

gcrcman>show backup

cycle    point   level   time

0        0       0       2022-09-01 23:33:39

0        1       1       2022-09-01 23:43:19

gcrcman>quit

  1. 执行库恢复

恢复库不需要将集群设置成 recovery 状态;

恢复时如果数据库存在,会报错,需要 drop 删除数据库后才能执行恢复操作,生产系统要慎重操作!! 

[gbase@162 ~]$ gcrcman.py -d /home/gbase/db-back -P gbase8a -p gbase20110531 

gcrcman>recover database test 0 1
database test exist, please drop database at first
gcrcman>quit 

查看数据,drop 删除数据库 test 

[gbase@162 ~]$ gccli -uroot -p Enter password: 

gbase> use test;
Query OK, 0 rows affected (Elapsed: 00:00:00.00) 

gbase> drop database test;
Query OK, 3 rows affected (Elapsed: 00:00:00.10) 

gbase> show databases;

+-----------------------------+
| Database             | 

+-----------------------------+
| information_schema  |
| performance_schema  |
| gbase                 |
| gctmpdb              |
| gclusterdb            | 

+-----------------------------+
5 rows in set (Elapsed: 00:00:00.00) 

gbase> exit

Bye

[gbase@162 ~]$

  1. 然后再执行恢复单库操作

[gbase@162 ~]$ gcrcman.py -d /home/gbase/db-back -P gbase8a -p gbase20110531 

gcrcman>recover database test 0 1
09.01 23:56:43 check database BackUp start --------------------------------------------
09.01 23:56:43 node (172.16.9.162) check database backup begin
09.01 23:56:43 node (172.16.9.163) check database backup begin
09.01 23:56:43 node (172.16.9.164) check database backup begin
09.01 23:57:05 node (172.16.9.162) check database backup success
09.01 23:57:05 node (172.16.9.163) check database backup success 

09.01 23:57:05 node (172.16.9.164) check database backup success --------------------------------------------
09.01 23:57:05 check database BackUp success
09.01 23:57:05 recover prepare start 

--------------------------------------------  

09.01 23:57:05 node (172.16.9.162) recover prepare begin

09.01 23:57:06 node (172.16.9.163) recover prepare begin

09.01 23:57:06 node (172.16.9.164) recover prepare begin

09.01 23:57:14 node (172.16.9.162) recover prepare success

09.01 23:57:14 node (172.16.9.163) recover prepare success

09.01 23:57:14 node (172.16.9.164) recover prepare success

--------------------------------------------  

09.01 23:57:14 recover prepare finish 

09.01 23:57:14 recreate database test start
09.01 23:57:14 recreate database test end
09.01 23:57:14 recreate tablespace start
09.01 23:57:14 recreate tablespace end
09.01 23:57:14 recreate database test tables start
09.01 23:57:14 node (172.16.9.162) recreate database tables begin
09.01 23:57:19 node (172.16.9.162) recreate database tables success
09.01 23:57:19 recreate database test tables
09.01 23:57:19 Recover database test start 

--------------------------------------------
09.01 23:57:19 node (172.16.9.162) Recover database begin
09.01 23:57:19 node (172.16.9.163) Recover database begin
09.01 23:57:19 node (172.16.9.164) Recover database begin
09.01 23:57:40 node (172.16.9.162) Recover database success
09.01 23:57:40 node (172.16.9.163) Recover database success
09.01 23:57:40 node (172.16.9.164) Recover database success

--------------------------------------------
09.01 23:57:40 Recover database test success, please refresh it! 

gcrcman>quit 

[gbase@162 ~]$

 

  1. 恢复操作完成后,查询库和库里的表

查询 test 数据库,发现里面表为空表没数据,可以使用 refresh tables; 刷新库里的表。 

[gbase@162 ~]$ gccli -uroot -p
Enter password: 

GBase client 9.5.2.39.126761. Copyright (c) 2004-2022, GBase. All Rights Reserved. 

gbase> use test;
Query OK, 0 rows affected (Elapsed: 00:00:00.00) 

gbase> select * from t1;
Empty set (Elapsed: 00:00:00.05) 

gbase> select * from t2;
Empty set (Elapsed: 00:00:00.03) 

gbase> refresh tables;

Query OK, 0 rows affected (Elapsed: 00:00:00.01) 

gbase> select * from t1; 

+----+----+ 

|     i|    j| 

+----+-----+ 

|     1|   a| 

|     2|   b| 

|     3|   c| 

|     1|   a| 

|     2|   b| 

|     3|   c| 

+-----+----+ 

6 rows in set (Elapsed: 00:00:00.04) 

gbase> select count(*) from t2; 

+-----+----+
|     a|   b|
+-----+----+ 

|     1|   a|
|     2|   b|
|     3|   c|
|     1|   a|
|     2|   b|
|     3|   c|
+-----+---+
6 rows in set (Elapsed: 00:00:00.04) 

gbase> exit

Bye

当然也可以每个节点重启一下 8a 服务,这样库的表数据也可以被刷新。

[gbase@162 ~]$ gcluster_services all restart 

[gbase@163 ~]$ gcluster_services all restart 

[gbase@164 ~]$ gcluster_services all restart 

  以上就是数据库备份的所有操作。

  1. 表级备份恢复

下面以单表备份恢复为例,说明整个表级备份恢复操作过程。 各节点重新创建表级备份目录备份目录,表级备份不要求集群状态必须为 readonly 只读状态。

  1. 数据库级备份前,在集群节点上创建新的表备份目录

[gbase@162 ~]$ mkdir /home/gbase/t1-back
[gbase@163 ~]$ mkdir /home/gbase/t1-back
[gbase@164 ~]$ mkdir /home/gbase/t1-back

  1. 查询t1表数据信息 

[gbase@162 ~]$ gccli -uroot -p Enter password: 

gbase> use test;
Query OK, 0 rows affected (Elapsed: 00:00:00.00) 

gbase> select count(*) from t1; 

+----------+
| count(*) |
+----------+ 

|            6|
+----------+
1 row in set (Elapsed: 00:00:00.07) 

gbase> exit

Bye

[gbase@162 ~]$

  1. 对t1表做全量备份

[gbase@162 ~]$ gcrcman.py -d /home/gbase/t1-back -P gbase8a -p gbase20110531 gcrcman>backup table test.t1 level 0
09.02 01:12:40 BackUp table test.t1 start 

--------------------------------------------
09.02 01:12:41 node (172.16.9.162) backup table begin
09.02 01:12:41 node (172.16.9.163) backup table begin
09.02 01:12:41 node (172.16.9.164) backup table begin
09.02 01:13:10 node (172.16.9.162) backup table success
09.02 01:13:10 node (172.16.9.163) backup table success
09.02 01:13:10 node (172.16.9.164) backup table success 

--------------------------------------------
09.02 01:13:10 BackUp table test.t1 end
gcrcman>show backup
cycle point level time
  0    0    0  2022-09-02 01:12:41
gcrcman>quit
[gbase@162 ~]$ 

  1. 模拟在误删除表数据 

[gbase@162 ~]$ gccli -uroot -p Enter password: 

GBase client 9.5.2.39.126761. Copyright (c) 2004-2022, GBase. All Rights Reserved. 

gbase> use test;
Query OK, 0 rows affected (Elapsed: 00:00:00.00) 

gbase> delete from t1;
Query OK, 6 rows affected (Elapsed: 00:00:00.21) 

gbase> select * from t1;
Empty set (Elapsed: 00:00:00.03) 

gbase> exit

Bye

  1. 执行表恢复

恢复表不需要将集群设置成 recovery 状态,恢复时需要将恢复的表 drop 后,才能正常恢复单表,否则报错。生产系统要慎重操作!! 

[gbase@162 ~]$ gcrcman.py -d /home/gbase/t1-back -P gbase8a -p gbase20110531 

gcrcman>show backup
cycle point level  time
  0    0    0   2022-09-02 01:12:41
gcrcman>recover table test.t1 0 0
Table test.t1 exist, please drop it at first
gcrcman>quit 

查看数据,drop 表 t1 

[gbase@162 ~]$ gccli -uroot -p Enter password: 

GBase client 9.5.2.39.126761. Copyright (c) 2004-2022, GBase. All Rights Reserved. 

gbase> use test;
Query OK, 0 rows affected (Elapsed: 00:00:00.00) 

gbase> drop table t1;
Query OK, 0 rows affected (Elapsed: 00:00:00.20) 

gbase> exit

Bye

  1. 然后再执行恢复单表操作

[gbase@162 ~]$ gcrcman.py -d /home/gbase/t1-back 

gcrcman>recover table test.t1 0 0
09.02 01:29:49 check Table topology start 

--------------------------------------------
09.02 01:29:49 node (172.16.9.162) check table
09.02 01:29:53 node (172.16.9.162) check table 

--------------------------------------------
09.02 01:29:53 check table topology success
09.02 01:29:53 check Table BackUp start 

--------------------------------------------
09.02 01:29:53 node (172.16.9.162) check table
09.02 01:29:53 node (172.16.9.163) check table
09.02 01:29:53 node (172.16.9.164) check table
09.02 01:30:11 node (172.16.9.162) check table
09.02 01:30:11 node (172.16.9.163) check table
09.02 01:30:11 node (172.16.9.164) check table

 --------------------------------------------
09.02 01:30:11 check table BackUp success
09.02 01:30:11 refresh table test.t1 start
09.02 01:30:11 node (172.16.9.162) recreate table begin 

09.02 01:30:16 node (172.16.9.162) recreate table success 

09.02 01:30:16 refresh table test.t1 end
09.02 01:30:16 Recover table test.t1 start 

--------------------------------------------
09.02 01:30:16 node (172.16.9.162) Recover table begin 

09.02 01:30:16 node (172.16.9.163) Recover
09.02 01:30:16 node (172.16.9.164) Recover
09.02 01:30:38 node (172.16.9.162) Recover
09.02 01:30:38 node (172.16.9.163) Recover
09.02 01:30:38 node (172.16.9.164) Recover 

--------------------------------------------
09.02 01:30:38 Recover table test.t1 success, please refresh it! 

gcrcman>quit 

[gbase@162 ~]$

  1. 恢复操作完成后,查询库和库里的表

查询 test.t1 表,发现里面表为空表没数据,需要刷新表才能查询表数据。

刷新表语句为 refresh table 表名;

[gbase@162 ~]$ gccli -uroot -p
Enter password: 

GBase client 9.5.2.39.126761. Copyright (c) 2004-2022, GBase. All Rights Reserved. 

gbase> use test;
Query OK, 0 rows affected (Elapsed: 00:00:00.00) 

gbase> show tables; 

+-------------------+
| Tables_in_test | 

+-------------------+ 

|                   t |
|                  t1 |
|             t2 | 

+-------------------+
3 rows in set (Elapsed: 00:00:00.00) 

gbase> select count(*) from t1; 

+----------+
| count(*) |
+----------+ 

|       0 |
+----------+
1 row in set (Elapsed: 00:00:00.10) 

gbase> refresh table t1;
Query OK, 0 rows affected (Elapsed: 00:00:00.03) 

gbase> select count(*) from t1; 

+----------+
| count(*) |
+----------+ 

|       6 |
+----------+
1 row in set (Elapsed: 00:00:00.03) 

gbase> exit
Bye

  以上就是单表备份的所有操作。

 

 

 

 

评论

登录后才可以发表评论
崔哥发表于 7个月前
自是寻春去校迟,不须惆怅怨芳时。狂风落尽深红色,绿叶成阴子满枝。
崔哥发表于 1个月前
毕竟西湖六月中,风光不与四时同。接天莲叶无穷碧,映日荷花别样红。