NDB的备份和恢复---测试start backup和ndb_restore

(1)启动管理节点,数据节点,SQL节点
在主机10.10.54.86上显示:
ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)]	2 node(s)
id=2	@10.10.54.85  (mysql-5.5.35 ndb-7.2.15, Nodegroup: 0)
id=3	@10.10.54.87  (mysql-5.5.35 ndb-7.2.15, Nodegroup: 0, *)

[ndb_mgmd(MGM)]	1 node(s)
id=1	@10.10.54.86  (mysql-5.5.35 ndb-7.2.15)

[mysqld(API)]	3 node(s)
id=10	@10.10.54.85  (mysql-5.5.35 ndb-7.2.15)
id=11	@10.10.54.87  (mysql-5.5.35 ndb-7.2.15)
id=12 (not connected, accepting connect from any host)


(2)在数据节点上创建数据
即在10.10.54.85上
mysql> create database test1;
mysql> use test1;
mysql> create table test1(age int) engine=ndbcluster default charset=utf8;
mysql> insert into test1 values(88);

(3)在管理节点上备份数据
ndb_mgm> start backup 17
Waiting for completed, this may take several minutes
Node 3: Backup 17 started from node 1
Node 3: Backup 17 started from node 1 completed
 StartGCP: 363 StopGCP: 366
 #Records: 2063 #LogRecords: 0
 Data: 52196 bytes Log: 0 bytes

(4)在数据节点上删除数据
删除tes1
即在10.10.54.87上
mysql> drop database test1;

(5)在数据节点上恢复数据
注意:
必须在删除的那个数据节点上恢复数据
-n 当前存储节点的nodeid
-b 要还原的backupid
-r 数据开关,也就是还原数据了
-m 还原表结构

[root@nan87 backup]# ndb_restore -n3 -b17 -c 10.10.54.86 -r -m --backup_path=/data/backup/BACKUP/BACKUP-17
Nodeid = 3
Backup Id = 17
backup path = /data/backup/BACKUP/BACKUP-17
Opening file '/data/backup/BACKUP/BACKUP-17/BACKUP-17.3.ctl'
File size 21372 bytes
Backup version in files: ndb-6.3.11 ndb version: mysql-5.5.35 ndb-7.2.15
Stop GCP of Backup: 365
Connected to ndb!!
Successfully restored table `test1/def/test1`
Successfully restored table event REPL$test1/test1
Opening file '/data/backup/BACKUP/BACKUP-17/BACKUP-17-0.3.Data'
File size 25572 bytes
_____________________________________________________
Processing data in table: mysql/def/NDB$BLOB_7_3(8) fragment 1
_____________________________________________________
Processing data in table: mysql/def/ndb_index_stat_sample(5) fragment 1
_____________________________________________________
Processing data in table: sys/def/NDB$EVENTS_0(3) fragment 1
_____________________________________________________
Processing data in table: mysql/def/ndb_apply_status(9) fragment 1
_____________________________________________________
Processing data in table: mysql/def/ndb_index_stat_head(4) fragment 1
_____________________________________________________
Processing data in table: test1/def/test1(10) fragment 1
_____________________________________________________
Processing data in table: sys/def/SYSTAB_0(2) fragment 1
_____________________________________________________
Processing data in table: mysql/def/ndb_schema(7) fragment 1
Opening file '/data/backup/BACKUP/BACKUP-17/BACKUP-17.3.log'
File size 52 bytes
Restored 1 tuples and 0 log entries

NDBT_ProgramExit: 0 - OK

(6)在数据节点上查询数据
在10.10.54.85/87上没有数据test1
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| ndb_2_fs           |
| ndbinfo            |
| performance_schema |
| sn                 |
| test               |
+--------------------+
7 rows in set (0.18 sec)

(7)需要创建数据库test1
即在10.10.54.85/87上
mysql> create database test1;
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| ndb_2_fs           |
| ndbinfo            |
| performance_schema |
| sn                 |
| test               |
| test1              |
+--------------------+
mysql> use test1;
mysql> show tables;
+-----------------+
| Tables_in_test1 |
+-----------------+
| test1           |
+-----------------+
mysql> select * from test1;
+------+
| age  |
+------+
|   88 |
+------+
数据已经恢复
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
出现错误:
错误1
[root@nan85 backup]# /usr/local/mysql/bin/ndb_restore -n2 -b1 -c 10.10.54.86 -r -m --backup_path=/data/backup/BACKUP/BACKUP-1/
Nodeid = 2
Backup Id = 1
backup path = /data/backup/BACKUP/BACKUP-1/
Opening file '/data/backup/BACKUP/BACKUP-1/BACKUP-1.2.ctl'
File size 21368 bytes
Backup version in files: ndb-6.3.11 ndb version: mysql-5.5.35 ndb-7.2.15
Stop GCP of Backup: 1297
Failed to initialize consumers

NDBT_ProgramExit: 1 - Failed

错误2:
[root@nan87 backup]# ndb_restore -n2 -b16 -c 10.10.54.86 -r -m --backup_path=/data/backup/BACKUP/BACKUP-16
Nodeid = 2
Backup Id = 16
backup path = /data/backup/BACKUP/BACKUP-16
Opening file '/data/backup/BACKUP/BACKUP-16/BACKUP-16.2.ctl'
Failed to read /data/backup/BACKUP/BACKUP-16/BACKUP-16.2.ctl


NDBT_ProgramExit: 1 - Failed

解决方法:
在管理节点上添加一个空节点
[root@nan86 mysql-cluster]# vim /etc/ndb/config.ini 
[MYSQLD]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


你可能感兴趣的:(NDB的备份和恢复---测试start backup和ndb_restore)