澳门新萄京备份恢复初步测试,ndb集群备份数据
分类:数据库

1、在保管节点上进展备份。 ndb_mgm> start backup nowait ndb_mgm> Node 3: Backup 4 started from node 1 Node 3: Backup 4 started from node 1 completed StartGCP: 43010 StopGCP: 43013 #Records: 2138 #LogRecords: 0 Data: 53068 bytes Log: 0 bytes ndb_mgm> shutdown Node 3: Cluster shutdown initiated Node 4: Cluster shutdown initiated Node 4: Node shutdown completed. Node 3: Node shutdown completed. NDB Cluster node have shutdown. Disconnecting to allow management server to shutdown. ndb_mgm> exit 2、删掉SQL节点的数额。 DROP DATABASE TEST_CLUSTER; 、关闭MYSQLD服务器。 [root@localhost bin]# service mysqld stop Shutting down MySQL... SUCCESS! 3、重新顺序运转全数节点。 [root@localhost mysql]# /usr/local/mysql/ndb_mgmd -f /etc/config.ini [root@localhost data]# /usr/local/mysql/bin/ndbd --initial 小编发掘只要不带那个 --initial选项的话,恢复生机会退步。 [root@localhost bin]# service mysqld start Starting MySQL SUCCESS! 4、在NDBD节点上开展复苏。(各样节点都得试行叁遍,因为数量分散在五个节点上)第二个节点: [root@localhost BACKUP]# /usr/local/mysql/bin/ndb_restore -n3 -b4 -r -m --backup_path=/usr/local/mysql/data/BACKUP/BACKUP-4/ -r开关是记录群集。 -m是元数据。正是表和库的SCHEMA。 Nodeid = 3 Backup Id = 4 backup path = /usr/local/mysql/data/BACKUP/BACKUP-4/ Ndb version in backup files: Version 5.1.21 Connected to ndb!! Successfully restored table `test_cluster/def/lk4_test` ... Successfully created index `PRIMARY` on `lk4_test` ... _____________________________________________________ Processing data in table: test_cluster/def/lk4_test54) fragment 1 _____________________________________________________ ... Restored 37 tuples and 0 log entries NDBT_ProgramExit: 0 - OK 第三个节点: [root@localhost BACKUP-1]# /usr/local/mysql/bin/ndb_restore -n4 -b4 -r --backup_path=/usr/local/mysql/data/BACKUP/BACKUP-4/ Nodeid = 4 Backup Id = 4 backup path = /usr/local/mysql/data/BACKUP/BACKUP-4/ Ndb version in backup files: Version 5.1.21 Connected to ndb!! _____________________________________________________ Processing data in table: sys/def/NDB$EVENTS_0 fragment 1 _____________________________________________________ Processing data in table: mysql/def/ndb_apply_status fragment 1 _____________________________________________________ Processing data in table: mysql/def/NDB$BLOB_2_3 fragment 1 _____________________________________________________ Processing data in table: test/def/t11 fragment 1 _____________________________________________________ Processing data in table: sys/def/SYSTAB_0 fragment 1 _____________________________________________________ Processing data in table: mysql/def/ndb_schema fragment 1 Restored 2 tuples and 0 log entries NDBT_ProgramExit: 0 - OK 这里形成。 5、查看一下有相当的少,为了安全起见。 mysql> show databases; -------------------- | Database | -------------------- | information_schema | | mysql | | test | -------------------- rows in set 未有回复的数据库? MYSQL今后必须重新树立SCHEMA。 mysql> create database test_cluster; Query OK, 1 row affected mysql> use test_cluster; Database changed mysql> show tables; ------------------------------ | Tables_in_test_cluster | ------------------------------ | lk4_test | | ... | ------------------------------ rows in set mysql> select * from cs_comment; Empty set 可是MYSQL的backup 程序现在还不能不进展完全备份。 [root@localhost BACKUP]# du -h K ./BACKUP-2 K ./BACKUP-6 K ./BACKUP-4 K ./BACKUP-3 K ./BACKUP-1 K ./BACKUP-5 K . 6、在NDBD节点上实行还原的时候有二个要注意的标题。 因为NDBD节点以 --initial 方式运维的时候不会自行删除undo 和 data 文件,所以得手动在各种NDBD节点上海展览中心开RM操作: [root@node239 ndb_6_fs]# rm -rf *.dat 然后起头备份。 在MASTEPRADO上备份的时候要加 -m 按钮。 在SLAVE上要加-d 並且并不是-m开关。 具体步骤如下: MASTETiggo : [root@localhost ndb_3_fs]# /usr/local/mysql/bin/ndb_restore -n3 -b1 -r -m --backup_path=/usr/local/mysql/data/BACKUP/BACKUP-1/ Nodeid = 3 Backup Id = 1 backup path = /usr/local/mysql/data/BACKUP/BACKUP-1/ Ndb version in backup files: Version 5.1.21 Connected to ndb!! Creating logfile group: lg_1...done Creating tablespace: ts_1...done Creating datafile "data_1.dat"...done Creating undofile "undo_1.dat"...done Successfully restored table `test/def/t11` Successfully restored table event REPL$test/t11 _____________________________________________________ Processing data in table: sys/def/NDB$EVENTS_0 fragment 0 _____________________________________________________ Processing data in table: mysql/def/NDB$BLOB_2_3 fragment 0 _____________________________________________________ Processing data in table: sys/def/SYSTAB_0 fragment 0 _____________________________________________________ Processing data in table: mysql/def/ndb_schema fragment 0 _____________________________________________________ Processing data in table: mysql/def/ndb_apply_status fragment 0 _____________________________________________________ Processing data in table: test/def/t11 fragment 0 Restored 26 tuples and 0 log entries NDBT_ProgramExit: 0 - OK 其余的SLAVE上的操作: [root@node239 ndb_6_fs]# /usr/local/mysql/bin/ndb_restore -n6 -b1 -r -d --backup_path=/usr/local/mysql/data/BACKUP/BACKUP-1/ Nodeid = 6 Backup Id = 1 backup path = /usr/local/mysql/data/BACKUP/BACKUP-1/ Ndb version in backup files: Version 5.1.21 Connected to ndb!! _____________________________________________________ Processing data in table: sys/def/NDB$EVENTS_0 fragment 3 _____________________________________________________ Processing data in table: mysql/def/NDB$BLOB_2_3 fragment 3 _____________________________________________________ Processing data in table: sys/def/SYSTAB_0 fragment 3 _____________________________________________________ Processing data in table: mysql/def/ndb_schema fragment 3 _____________________________________________________ Processing data in table: mysql/def/ndb_apply_status fragment 3 _____________________________________________________ Processing data in table: test/def/t11 fragment 3 Restored 20 tuples and 0 log entries NDBT_ProgramExit: 0 - OK -d 按键的意趣即: -d, --no-restore-disk-objects Dont restore disk objects (tablespace/logfilegroups etc) 既忽视表空间和分组空间

MySQL Cluster-备份恢复生机起来测量试验

生龙活虎、MySQL簇的同台备份

1**
、 簇备份概念**
备份指的是在给准期期对数据库的快速照相。备份包罗四个入眼部分:
(1卡塔 尔(英语:State of Qatar)Metadata(元 数据卡塔尔国:全部数据库表的名称和概念。
(2卡塔 尔(英语:State of Qatar)Table records(表 记录卡塔 尔(英语:State of Qatar):推行备份时实际保存在数据库表中的数目。
(3卡塔尔国Transaction log(事务日志卡塔 尔(英语:State of Qatar):指明怎么着以至什么时候将数据保存在数据库中的三回九转记录。
每生机勃勃局部(那三片段)均会保存在插手备份的兼具数据节点上。在备份进度中,各类节点均会将这五个部分保存在磁盘上的多个文本中(意 思是说,有多少个节点,将会把相通的数码,保存几份.举例,2个数据节点,那么就可以分别在2个节点上,保 存2次,保存目录默感觉
[NDBD]
DateDir=/usr/local/mysql/BACKUP
(4)BACKUP-backup_id.node_id.ctl
富含调控消息和元数据的决定文件。每种节点均会将长期以来的表定义(对于簇中的全体表卡塔 尔(阿拉伯语:قطر‎保存在温馨的该文件中
(5)BACKUP-backup_id-0.node_id.data
包涵表记录的数据文件,它是按片段保存的,也正是说,在备份进度中,差别的节点会保留不一致的部分。每一个节点保存的文件以指明了记 录所属表的标题开始。在记录项目清单后边有叁个暗含关于全部记录校验和的脚注。
(6)BACKUP-backup_id.node_id.log
包罗已提交业务的笔录的日记文件。在日记中,仅保留已在备份中保存的表上的业务。参加备份的节点将保留分化的笔录,那是因为,差别的节点容纳了分裂的数据库片段。
在上面所列的内容中,backup_id指的是备份ID,node_id是 创立文件的节点的唯少年老成ID。
使用项理服务器成立备份开头备份前,请确认保障已为备份操作极其地 配置了簇。

 

2**、备份参数(以 下参数,都写入在mgmd的config.ini配置文件中**)
本 节争辩的参数定义了与在线备份施行有关的内部存款和储蓄器缓冲集。
(1)BackupDataBufferSize
在创建备份的历程中,为了将数据发送到磁盘,将使用两类缓冲。备份数据缓冲用于填充由扫描节点的表而记录的数目。大器晚成旦将该缓冲填 充到了内定的水准BackupWriteSize(请参见上面包车型地铁介绍卡塔尔,就能够将页发送至磁盘。在将页写入磁盘的还要,备份进度能够持续填充该缓冲,直至其空间消耗完甘休。现身该情状时,备份进度将制动踏板扫描,直至一些磁盘写入操作完毕并释放了内部存款和储蓄器截止,然后扫描继续。
该 参数的暗中同意值为2MB。
(2)BackupLogBufferSize
备份日志缓冲扮演的剧中人物相似于备份数据缓冲,分化之处在于,它用于转移备份推行时期进行的保有表写入的日记。相似的准绳也适用于 备份数据缓冲处境下的页写入,分歧之处在于,当备份日志缓冲中并未有剩余空间时,备份将退步。出于该原因,备份日志缓冲的大小应足以管理施行备份时暴发的负 载。
该参数的暗中认可值对于大大多应用程序均是适当的。事实上,备份战败的原故更也许是因为磁盘写入速度非常不够,实际不是备份 日志缓冲变满。若无为应用程序产生的写负载配置磁盘子系统,簇很可能不能够实施所需的操作。最佳按适用的章程配置簇,使得微型机成为瓶颈实际不是磁盘或网络连接。默许值是2MB。
(3)BackupMemory
该参数是BackupDataBufferSize和BackupLogBufferSize之 和。暗中同意值是2MB 2MB = 4MB。
(4)BackupWriteSize
该参数钦定了由备份日志缓冲和备份数据缓冲写入磁盘的音讯大小。暗许值是32KB.
(5)BackupDataDir
#可修改暗中同意的备份目录,BackupDataDir=/mysqlback
#自然前提,mkdir /mysqlback ,需求在颇具数据节点上运维
也能钦赐寄放备份的目录。暗中认可情形下,该目录是FileSystemPath/BACKUP
(6)FileSystemPath
该参数钦点了存放为元数据成立的兼具文件、REDO日志、UNDO日志和 数据文件的目录。私下认可目录是由DataDir钦命的。注意,运营ndbd进度在此之前,该目录必得已存 在。
(7)DataDir
该参数钦定了存放追踪文 件、日志文件、pid文件甚至错误日志的目录。

  Mysql Cluster的备份和苏醒

sql节点上边录入数据:

3**、 使用项理服务器创设备份包罗以下步骤:**
1)运行关押服务器(ndb_mgm)
2卡塔尔 实践命令START BACKUP
3卡塔 尔(英语:State of Qatar)管理服务器将用音信“提示备份起始”作 出回应。那表示管理服务器将央求提交给了簇,但从未收到任何回复。
4卡塔尔管理服务器恢复生机“备 份backup_id开始”,其中,backup_id是该备份的唯大器晚成ID(假诺未作任何安排,该ID还将保留在簇日志中)。那意味着簇已收取并开头拍卖备份诉求。它不代表备份已造成。
5卡塔尔国 管理服务器发出新闻“备份backup_id完结”,布告备份操作已结 束。


 创设测量试验的数据库和表

4**、 要想屏弃正在管理的备份:**
1卡塔 尔(阿拉伯语:قطر‎运行关押服务器。
2卡塔 尔(英语:State of Qatar)执行命令ABORT BACKUP backup_id。backup_id是当备份早先时带有在管制服务器应大中的备份ID(在 音讯“备份backup_id启动”中)
3卡塔尔国管理服务器用消息“放任提醒的备份backup_id”确认放弃央求,注意,还没接到对该伏乞的实 际回应。
4卡塔 尔(英语:State of Qatar)意气风发旦吐弃了备份,管理服务器将通报“备份backup_id因XYZ而 丢掉”。那象征簇中止了备份,并从簇文件系统中除去了与该备份有关的兼具文件。在系统shell中 使用下述命令,也能放任正在进行的备份:shell> ndb_mgm -e "ABORT BACKUP backup_id"
注 释:试行扬弃操作时,若无ID为backup_id的备份,管理服务器不会提交任何分明回复。 不过,所发生的无用遗弃命令将要簇日志中提交

a)         备份:采用ndb_mgm处理顾客带来备份

 

什么样回复簇备份

在管理节点施行ndb_mgm就能够踏向管理命令行

 

簇苏醒程序是当作独立的指令行实用工具ndb_restore完毕的,它将 读取由备份(由在拘系节点的客商端上执行start backup)创制的公文,并将保留的音讯插 入数据库。必得为每组备份文件推行苏醒程序,也便是说,试行次数与创制备份时运转的数据库节点数生龙活虎致。(当初创设备份时,有 多少个数据节点出席,就必要进行那样的指令几回,2个数据节点,就供给施行2次,但第三次与第三遍在参数上是例外的,第三回索要参数-m,第 三次,不用加此参数,此参数的机能是,创设数量元.)

输入start backup备份全体节点,倘诺后边还跟着对应数据节点的id就只备份对应的数量节点

 CREATE DATABASE bg;

首次实施恢复程序时,还须要复苏元数据。换句话讲,必需重新创建数量库表(注意,起先实行苏醒操作时, 簇中应有二个空数据库,这里说的创立数量库表,实际不是说,令你在sql节 点上,在钦赐的库内,用create table建个空白,而 是说,用ndb_restore命令中的贰个参数 -m卡塔尔国。苏醒程序对 于簇来讲也就是API,因而,须求二个空闲连接,以便与簇相连。(为此,我们能够在config.ini中增加多个[mysqld],以便于有个空的节点ID,为 它提供.)可利用ndb_mgm命令SHOW(在系统shell下 使用ndb_mgm -e SHOW即可实现该操作卡塔尔国进行表达, 查看,是或不是有三个空的mysql(api)节点,未有其他连接,并且同意任性主 机,连接。能够选拔开关“-c connectstring”来鲜明M阿奇霉素秋点的职位。(关于连接字符串的更加多音讯,请参见.2节,“MySQL簇 连接字符串”。备份文件必得放在苏醒程序参量给定的目录下。能够选择与创建时所用配置不一样的配备,将 备份恢复生机到数据库。比如,对于备份ID为12的备份,该备份是在颇负七个数据库节点(节点ID无 恶2和3卡塔 尔(英语:State of Qatar)的簇中创立的,可以将其死灰复然到全数4个节点的簇中。那样,ndb_restore必须运维一遍,为创建备份时的每一种数据库节点运维一遍。
自己回复实例操作流程():
(1)首 先备份,start backup(记住,backup_id)
(2)更改config.ini,再 其扩展个[mysqld] --- 最终扩大贰个[mysqld] 即可
增加前:

 

 

[mysqld(API)]   5 node(s)
id=6    @10.3.3.150  (mysql-5.1.44 ndb-7.1.4)
id=7    @10.3.3.151  (mysql-5.1.44 ndb-7.1.4)

b)         恢复:

 CREATE TABLE bgt1 (id INT,`name` VARCHAR(20),PRIMARY KEY(`id`))ENGINE=NDBCLUSTER;

增加后:

行任务令ndb_restore举行复苏,具体进度如下:

 

[mysqld(API)]   5 node(s)
id=6    @10.3.3.150  (mysql-5.1.44 ndb-7.1.4)
id=7    @10.3.3.151  (mysql-5.1.44 ndb-7.1.4)
id=8 (not connected, accepting connect from any host)
(3)停 止mgmd,ndb_mgm -e shutdown
(4)启动mgmd,ndb_mgmd(当 然,在 config.ini文件目录下实行此命令)
(5)启 动数据节点:ndbd --initial(有多少个节点,实施此命令三回)
(6)在 数据节点上实施ndb_restore -c mgmd -n node_id -m -b backup_id -r [backup_path=]/path/to/backup/files
我的:ndb_restore -c 192.168.1.112 -n 2 -m -b 1 -r /mysql/BACKUP/BACKUP-1/
记住,这 个"/",很重要.
mgmd 为管理节点的ip
node_id为 数据节点ID,在mgm的顾客端通过show查看
-m 在第一个数据节点上实行,它的效果与利益恢复数据元,数据元的意义:全体多少库表的名目和定义.在任何节点,上就不须要此参数了.
backup_id 就是备份的次数.也正是您在那start backup上,提示的老大id,若是不清楚,能够到保存此备份的目录下看.
执行 的结果:(下)

 运转拘禁节点

 INSERT INTO bgt1 VALUES(1,'zhang1'),(2,'zhang2'),(3,'zhang3'),(4,'zhang4');

[root@xiayali root]# /usr/local/mysql/bin/ndb_restore -c 192.168.1.112 -n 2 -m -b 1 -r /mysqlback/BACKUP/BACKUP-1/
Ndb version in backup files: Version
Connected to ndb!!
Successfully restored table test/def/ctest
_____________________________________________________
Processing data in table: test/def/ctest(2) fragment 0
_____________________________________________________
Processing data in table: sys/def/NDB$EVENTS_0(1) fragment 0
_____________________________________________________
Processing data in table: sys/def/SYSTAB_0(0) fragment 0
Restored 0 tuples and 0 log entries
NDBT_ProgramExit: 0 - OK
实行过后,在其sql节点上,只可以看见表,不能够看出数据,哈哈,那正是-m的 效率!
(7)在别的数据节点上进行
ndb_restore -c 192.168.1.112 -n 3 -b 1 -r /mysql/BACKUP/BACKUP-1/
施行的结果:(下)
[root@xiayali bin]# /usr/local/mysql/bin/ndb_restore -c 192.168.1.112 -n 3 -b 1 -r /mysqlback/BACKUP/BACKUP-1/
Ndb version in backup files: Version 5.0.19
Connected to ndb!!
_____________________________________________________
Processing data in table: test/def/ctest(2) fragment 1
_____________________________________________________
Processing data in table: sys/def/NDB$EVENTS_0(1) fragment 1
_____________________________________________________
Processing data in table: sys/def/SYSTAB_0(0) fragment 1
Restored 1 tuples and 0 log entries
NDBT_ProgramExit: 0 - OK
施行过后,就会用select看 到数码了,因为,小编的数量节点,唯有2个,所 以,小编只需操作这两步,固然八个节点,我不掌握,执 行这一步,是还是不是能收看数
据.可是,小编 马上就测验添增添少节点.哈哈...再玩备份与还原~
讲授:对 于连忙复苏,能够以相互方式复苏数据,但必须要有丰硕的可用簇连接。然则,数据文件必需从来前于日志文件。
额外测量检验(在 原有的底蕴上做的):
NDB_MGMD
|         |         |         |
|         |         |         |  
sql      sql       ndb       ndb
(原来那样的)
NDB_MGMD
|         |         |         |
|         |         |         |  
sql/ndb sql/ndb    ndb       ndb
(现在要在sql节点上丰硕ndb节 点)
只 要求在那NDB_MGMD的config.ini里改下下边包车型地铁参数.
NoOfReplicas=4
[参数说明]
该全局参数仅能在[NDBD DEFAULT]中设 置,它定义了簇中每种表保存的别本数。该参数还内定了节点组的高低。节点组指的是保存相似音信的节点集结。节点组是以隐式形式组成的。第1个节点组由具备最低节点ID的多少节点集合构成,下一个节点组由具有次低节点ID的数据节点集结构 成,就那样推算。作为示范,截顶大家有4个数据节点,并将NoOfReplicas设置为2。 那多少个数据节点的ID分别是2、3、4、5。 那么第三个节点组由节点2和3组成,第2个节点组由节点4和5结缘。首要的是对簇进行对应的配置,使得同后生可畏节点组中的节点位于不相同的微机上,那是因为,借使身处同黄金年代的Computer上,单个硬件故障会以致整个簇崩溃。若是未提供节点ID,那么数量节点的次第将是节点组的 决定因素。无论是或不是进行了醒目标分配,可在治本客商端SHOW命令的输出中查阅它们。
(所 以,大家须要在config.ini里安装节点ID,从[ndb_mgmd]id=1开始),将其保存肖似消息的节点,放置与不相同的微电脑,以幸免崩溃~导致数据遗失~故此,大家可在config.ini里配置ID,来 决定那多少个数据节点,为同后生可畏组.哈哈....,想怎么玩,就 怎么玩~,但不能不提供4个组啊!!!!哈哈.....)
NoOfReplicas没 有默许值,最大的也许值为4。
追加
[ndbd]
id=6
hostname=192.168.1.113
datadir=/usr/local/mysql/data
BackupDataDir=/mysqlback #哈哈哈,记住,那几个目录在192.168.1.113必需存在,不然,ndbd --initital 现身谬误, 正是启不 起来,故mkdir     
/mysqlback

/usr/bin/ndb_mgmd -f /usr/local/mysql/mysql-cluster/config.ini --reload

  

[ndbd]
id=7
hostname=192.168.1.114
datadir=/usr/local/mysql/data
BackupDataDir=/mysqlback   #难忘,这一个目录在192.168.1.114必 须存在,既mkdir /mysqlback
[mysqld]
id=8           #空 一个,为ndb_restore用的节点
对此数据节点,只 必要mkdir /mysqlback
用来备份mysql簇数据,存 放的地点.
配置做好后,那么开头上升职业了.流程
(1)ndb_mgm -e shutdown
(2)在八个节点上独家运营:ndbd --initial
(3)在 原先的节点上,既节点2,节点3上做苏醒职业,而 对于新添长的节点,没有须求上边包车型地铁操作.
a.在节点2上操作:ndb_restore -c 192.168.1.112 -n 2 -m -b 1 -r /mysql/BACKUP/BACKUP-1/
b.在节 点3上操作:ndb_restore -c 192.168.1.112 -n 3 -b 1 -r /mysql/BACKUP/BACKUP-1/
(4)测试:
a.检测mgmd客 户端show命令:
ndb_mgm> show

启航数量节点:

 8.2 管理节点下面,开头备份 

Cluster Configuration

[ndbd(NDB)]     4 node(s)
id=2    @192.168.1.8 (Version: , Nodegroup: 0)
id=3    @192.168.1.111 (Version: 5.0.19, Nodegroup: 0)
id=4    @192.168.1.113 (Version: 5.0.19, Nodegroup: 1, Master)
id=5    @192.168.1.114 (Version: 5.0.19, Nodegroup: 1)
[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.1.112 (Version: 5.0.19)
[mysqld(API)]   3 node(s)
id=6    @192.168.1.113 (Version: 5.0.19)
id=7    @192.168.1.114 (Version: 5.0.19)
id=8 (not connected, accepting connect from any host)
b.质量评定mysql节点,数 据是不是恢复生机成功!
那就毫无说了,成功了,不然,也 不敢写~
c.结束原本的节点2,3,来看节点4,5有未有复制 原先的数据.
在mgmd客商端推行2 stop 3 stop

ndb_mgm> show

/usr/bin/ndbd  --initial

ndb_mgm> start backup

Cluster Configuration

[ndbd(NDB)]     4 node(s)
id=2 (not connected, accepting connect from 192.168.1.8)
id=3    @192.168.1.111 (Version: , Nodegroup: 0)
id=4 (not connected, accepting connect from 192.168.1.113)
id=5    @192.168.1.114 (Version: 5.0.19, Nodegroup: 1, Master)
[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.1.112 (Version: 5.0.19)
[mysqld(API)]   3 node(s)
id=6    @192.168.1.113 (Version: 5.0.19)
id=7    @192.168.1.114 (Version: 5.0.19)
id=8 (not connected, accepting connect from any host)
小心,因 为,作者在风流浪漫早先,将节点组织设立置为4个,而结 点为4,故叁个节点三个组,而方今,笔者将其改成2,正是节点2与节点3为生龙活虎组,节点4与节点5为 意气风发
组,故2 stop 与3 stop会 现身错误,于是本人将其,改成2 stop 4 stop 下边包车型客车从未有过变 化...哈哈.
d.再到mysql节点上查询数据,哈 哈.有~~那就意味着,苏醒成功,况兼,数 据节点增加成功,已经足以健康保存数据了.

**************************************************************************

 

测验开掘:

1.备份时有多少个存储节点就要实施五回苏醒操作,和NoOfReplicas参数非亲非故;

2.回复时不曾各类,怎么实施都可以;
3.备份时每个存款和储蓄节点都封存有表结构,即 各样存款和储蓄节点恢复生机时都足以钦命"-m";
4.备份时各种存款和储蓄节点只存储部分数据。

如:表tmp有31条记下,八个节点备份时分别备份了9、4、10、8条记下,从光复日志 中得以见见:

Restored 9 tuples and 0 log entries

Restored 4 tuples and 0 log entries

Restored 10 tuples and 0 log entries

Restored 8 tuples and 0 log entries

先是个节点苏醒的时候

Waiting for completed, this may take several minutes

在第叁个节点恢复表结构(复苏的时候假若不涉及到表结构的改造,不用接纳参数-m)

Node 4: Backup 1 started from node 1

/usr/bin/ndb_restore   -c 192.168.100.223 -n 11 -b 1 -m --backup_path=/data/dbdata1/BACKUP/BACKUP-1/

Node 4: Backup 1 started from node 1 completed

恢复生机数据,恢复生机数据的时候能够多少个ndb节点一同实施,速度会快一点!

StartGCP: 184725 StopGCP: 184772

/usr/bin/ndb_restore   -c 192.168.100.223 -n 11 -b 1  -r --backup_path=/data/dbdata1/BACKUP/BACKUP-1/

#Records: 722078 #LogRecords: 0

此外节点苏醒的时候(未来的节点无需加-m参数卡塔 尔(阿拉伯语:قطر‎

Data: 287345616 bytes Log: 0 bytes

/usr/bin/ndb_restore   -c 192.168.100.223 -n 11 -b 1 -r --backup_path=/data/dbdata1/BACKUP/BACKUP-1/

ndb_mgm> 

内部192.168.100.223为管理节点的IP,-n后边接的是节点id,-b要还原的backupid,-r 数据开关,也正是苏醒数据了,-m 还原表结构

 

导入完表结构今后就足以实行相互影响苏醒了!

 

别的,mysql cluster能够针对单个八个的库或然表做数据复苏,笔者测量检验的结果不援助回复表结构(作者的情状是运用了磁盘表存款和储蓄未有索引的多寡,改天测验下任何多少在内部存款和储蓄器中的状态卡塔尔

 8.3 再次插入几条数据(为了维持和规范情形尽恐怕贴近,在插入数据中间穿插了flush logs操作!)

用到的参数是

INSERT INTO bgt1 VALUES(5,'zhang5'),(6,'zhang6'); 

--include-databases=db_name[,db_name][,...]
--include-tables=db_name.tbl_name[,db_name.tbl_name][,...]
相对应的还也许有不分包选项
--exclude-databases=db_name[,db_name][,...]
--exclude-tables=db_name.tbl_name[,db_name.tbl_name][,...]

flush logs;

过来的时候供给利用mysqld节点,由此须要加上多少个空的mysqld节点,空mysqld节点起码应该和你的mysqld节点数据大器晚成致。

INSERT INTO bgt1 VALUES(7,'zhang7'),(8,'zhang8');

当苏醒硬盘表的时候,使用—initial初步化以后,没有必要再行成立数量文件组、redo日志文件、表空间和数据文件,还原的时候会自动创制

     

8.4 删掉SQL节点的多少。

mysql> drop database bg;

Query OK, 2 rows affected (6.16 sec)

 

8.5 关闭MYSQLD服务器。

[[email protected] data]# /etc/rc.d/init.d/mysqld stop

Shutting down MySQL......120718 18:58:11 mysqld_safe mysqld from pid file /usr/local/mysql/data/banggo.local.pid ended

  [确定]

[1]  Done                    /usr/local/mysql/bin/mysqld_safe

[[email protected] data]# 

[[email protected] data]# /etc/rc.d/init.d/mysqld stop

Shutting down MySQL....                                    [确定]

[[email protected] data]# 

 

8.6 重新启航节点

ndb_mgm> shutdown

Node 4: Cluster shutdown initiated

Node 4: Node shutdown completed.

2 NDB Cluster node(s) have shutdown.

Disconnecting to allow management server to shutdown.

ndb_mgm> exit

[[email protected] mysql-cluster]# ndb_mgmd -f /usr/local/mysql/cluster-conf/config.ini --reload

MySQL Cluster Management Server mysql-5.5.19 ndb-7.2.4

 

 

8.7 重新启航数量节点

ndbd --initial   

 

 

8.8 在数据节点下边实行理并答复原。

/home/mysql-cluster-gpl-7.2.4-linux2.6-x86_64/bin/ndb_restore -e  -c 10.100.200.36 -n 4 -b 1 -m --backup_path=/var/lib/mysql-cluster/BACKUP/BACKUP-1/

其中backup_path 在默许的数目节点的根目录下边(找了十分久,朝气蓬勃开头感到在安排文件之中)

 

率先手续 -m操作

   [[email protected] BACKUP-1]# /home/mysql-cluster-gpl-7.2.4-linux2.6-x86_64/bin/ndb_restore -e  -c 10.100.200.36 -n 4 -b 1 -m --backup_path=/var/lib/mysql-cluster/BACKUP/BACKUP-1/

Nodeid = 4

Backup Id = 1

backup path = /var/lib/mysql-cluster/BACKUP/BACKUP-1/

Opening file '/var/lib/mysql-cluster/BACKUP/BACKUP-1/BACKUP-1.4.ctl'

File size 61160 bytes

Backup version in files: ndb-6.3.11 ndb version: mysql-5.5.19 ndb-7.2.4

Stop GCP of Backup: 184771

Connected to ndb!!

Successfully restored table `test/def/t2`

Successfully restored table event REPL$test/t2

Successfully restored table `bg/def/#sql-303d_2`

Successfully restored table event REPL$bg/#sql-303d_2

Successfully restored table `bg/def/#sql-51f0_3`

Successfully restored table event REPL$bg/#sql-51f0_3

Successfully restored table `test/def/t11`

Successfully restored table event REPL$test/t11

Successfully restored table `ndb/def/ndborder_goods`

Successfully restored table event REPL$ndb/ndborder_goods

Successfully restored table `bg/def/bgt1`

Successfully restored table event REPL$bg/bgt1

Successfully restored table `test/def/ndborder_info_history`

Successfully restored table event REPL$test/ndborder_info_history

Successfully restored table `mysql/def/ndb_schema`

Successfully restored table event REPL$mysql/ndb_schema

Successfully restored table `mysql/def/ndb_apply_status`

Successfully restored table event REPL$mysql/ndb_apply_status

Successfully restored table `ndb/def/ndbtest`

Successfully restored table event REPL$ndb/ndbtest

Successfully created index `PRIMARY` on `ndborder_info_history`

Successfully created index `uniq_order_os` on `ndborder_goods`

Successfully created index `is_update` on `ndborder_info_history`

Successfully created index `PRIMARY` on `#sql-51f0_3`

Successfully created index `sku_sn` on `ndborder_goods`

Successfully created index `PRIMARY` on `bgt1`

Successfully created index `exchange_from` on `ndborder_goods`

Successfully created index `addtime` on `ndborder_info_history`

Successfully created index `relating_return_sn` on `ndborder_info_history`

Successfully created index `PRIMARY` on `ndborder_goods`

Successfully created index `order_from` on `ndborder_info_history`

Successfully created index `order_out_sn` on `ndborder_info_history`

Successfully created index `PRIMARY` on `#sql-303d_2`

Successfully created index `order_status` on `ndborder_info_history`

Successfully created index `user_id` on `ndborder_info_history`

Successfully created index `uniq_order_os$unique` on `ndborder_goods`

Successfully created index `order_sn` on `ndborder_goods`

 

 

NDBT_ProgramExit: 0 - OK

 

 

[[email protected] BACKUP-1]# 

8.9 第二手续 -r操作(借使有N个node,则供给实行N次)

[[email protected] BACKUP-1]# /home/mysql-cluster-gpl-7.2.4-linux2.6-x86_64/bin/ndb_restore -e  -c 10.100.200.36 -n 4 -b 1 -r --backup_path=/var/lib/mysql-cluster/BACKUP/BACKUP-1/

Nodeid = 4

Backup Id = 1

backup path = /var/lib/mysql-cluster/BACKUP/BACKUP-1/

Opening file '/var/lib/mysql-cluster/BACKUP/BACKUP-1/BACKUP-1.4.ctl'

File size 61160 bytes

Backup version in files: ndb-6.3.11 ndb version: mysql-5.5.19 ndb-7.2.4

Stop GCP of Backup: 184771

Connected to ndb!!

Opening file '/var/lib/mysql-cluster/BACKUP/BACKUP-1/BACKUP-1-0.4.Data'

File size 287834112 bytes

_____________________________________________________

Processing data in table: test/def/t2(20) fragment 0

_____________________________________________________

Processing data in table: bg/def/#sql-303d_2(34) fragment 0

_____________________________________________________

Processing data in table: bg/def/#sql-51f0_3(32) fragment 0

_____________________________________________________

Processing data in table: mysql/def/NDB$BLOB_7_3(8) fragment 0

_____________________________________________________

Processing data in table: test/def/t11(11) fragment 0

_____________________________________________________

Processing data in table: ndb/def/ndborder_goods(12) fragment 0

_____________________________________________________

Processing data in table: ndb/def/NDB$BLOB_12_13(13) fragment 0

_____________________________________________________

Processing data in table: mysql/def/ndb_index_stat_head(4) fragment 0

_____________________________________________________

Processing data in table: sys/def/NDB$EVENTS_0(3) fragment 0

_____________________________________________________

Processing data in table: sys/def/SYSTAB_0(2) fragment 0

_____________________________________________________

Processing data in table: mysql/def/ndb_index_stat_sample(5) fragment 0

_____________________________________________________

Processing data in table: bg/def/bgt1(36) fragment 0

_____________________________________________________

Processing data in table: test/def/ndborder_info_history(21) fragment 0

Temporary error: 1220: REDO log files overloaded (increase FragmentLogFileSize)

Temporary error: 1220: REDO log files overloaded (increase FragmentLogFileSize)

Temporary error: 1220: REDO log files overloaded (increase FragmentLogFileSize)

Temporary error: 1220: REDO log files overloaded (increase FragmentLogFileSize)

Temporary error: 1220: REDO log files overloaded (increase FragmentLogFileSize)

Temporary error: 1220: REDO log files overloaded (increase FragmentLogFileSize)

Temporary error: 1220: REDO log files overloaded (increase FragmentLogFileSize)

Temporary error: 1220: REDO log files overloaded (increase FragmentLogFileSize)

Temporary error: 1220: REDO log files overloaded (increase FragmentLogFileSize)

Temporary error: 1220: REDO log files overloaded (increase FragmentLogFileSize)

在奉行 -r操作的时候 报错

 

【ok】飞鸿二弟说是由于REDO log 文件太小了要加大,不影响恢复生机成效。参谋了 那地点的人也如此讲。

 

 

 

mysql> show databases;

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

| Database           |

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

| information_schema |

| mysql              |

| ndb                |

| ndbinfo            |

| performance_schema |

| test               |

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

6 rows in set (0.00 sec)

-- 没有库?看来要重新建立了

 

 

mysql> create database bg; -- 重建

Query OK, 1 row affected (0.06 sec)

 

 

mysql> use bg

Database changed

mysql> show tables; -- ok,看下表

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

| Tables_in_bg |

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

| bgt1         |

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

1 row in set (0.00 sec)

 

 

mysql> select * from bgt1; --数据恢复生机过来了

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

| id | name   |

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

|  3 | zhang3 |

|  1 | zhang1 |

|  2 | zhang2 |

|  4 | zhang4 |

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

4 rows in set (0.01 sec)

 

 

8.10 找三个mysqld节点,在治本节点步向单客户方式,然后运行sql节点,运营该mysqld节点,并登入找到最大的epoch的值

ndb_mgm> ENTER SINGLE USER MODE 10;

Single user mode entered

Access is granted for API node 10 only.

ndb_mgm> 

 

澳门新萄京备份恢复初步测试,ndb集群备份数据库和还原数据库的方法_Mysql_脚本之家。mysql> SELECT @LASTEPOCH:=MAX(epoch) FROM mysql.ndb_apply_status;

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

| @LASTEPOCH:=MAX(epoch) |

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

|        793593992183807 |

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

1 row in set (0.04 sec)

 

依据epoch的值,找到二进制日志之处以致文件名

 

 

mysql> SELECT POSITION, @FIRSTFILE:=FILE

-> 

-> FROM mysql.ndb_binlog_index

-> 

-> WHERE epoch > @LASTEPOCH

-> 

-> ORDER BY epoch ASC

-> 

-> LIMIT 1;

Empty set (0.03 sec)

 

8.11 依照时间点复苏

寻找复苏的时候要求利用的除第二个日志文件以外的其他的二进制日志文件

SELECT DISTINCT File 

FROM mysql.ndb_binlog_index

WHERE epoch > @LASTEPOCH 

AND File <> @FIRSTFILE 

ORDER BY File;

 

 

然后开展二进制日志的大张旗鼓:

mysqlbinlog -H --set-charset="utf8" -D --start-position=829 ./mysql-bin.000012 | grep -v "RELOAD DATABASE" |mysql bg

mysqlbinlog -H --set-charset="utf8" -D --stop-datetime="2012-07-18 13:30:00" ./mysql-bin.0000013 | grep -v "RELOAD DATABASE" |mysql  bg

 

 

复原实现后,退出单客户方式,并运行此外三个sql节点

ndb_mgm> EXIT SINGLE USER MODE;

Exiting single user mode in progress.

Use ALL STATUS or SHOW to see when single user mode has been exited.

ndb_mgm>

 

 

跻身mysql节点,查到数量已经回复了。

澳门新萄京备份恢复初步测试,ndb集群备份数据库和还原数据库的方法_Mysql_脚本之家。 Cluster-备份苏醒起来测试sql节点下边录入数据: 创设测量试验的数据库和表 CREATE DATABASE bg; CREATE TABLE bgt1 (id INT,`name` VARCHAR(20),PRIMARY KEY(`i...

本文由澳门新萄京发布于数据库,转载请注明出处:澳门新萄京备份恢复初步测试,ndb集群备份数据

上一篇:澳门新萄京:2012_01_07_Mysql_脚本之家,PHP开发者常 下一篇:没有了
猜你喜欢
热门排行
精彩图文