免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 29990 | 回复: 15
打印 上一主题 下一主题

mysql-cluster备份恢复简单示例 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-10 14:55 |只看该作者 |倒序浏览
mysql-cluster备份恢复
msyql-cluster的备份恢复是使用管理节点命令和ndb_restore程序完成的

下面进行一次备份恢复的操作演示

.mysql-cluster环境介绍:

mysql-cluster版本: mysql-cluster-7.0

簇节点分布情况:

一个管理节点(node1),2个数据节点(node2,node3),3sql节点(node4,node5,node6)

所有节点安装在一个机器上,这比在单机器单节点上环境复杂(学习目的,越复杂越好)

分布情况显示如下

[ndbd(NDB)]     2 node(s)
id=2    @127.0.0.1  (mysql-5.1.34 ndb-7.0.6, Nodegroup: 0, Master)
id=3    @127.0.0.1  (mysql-5.1.34 ndb-7.0.6, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1    @127.0.0.1  (mysql-5.1.34 ndb-7.0.6)
[mysqld(API)]   3 node(s)
id=4    @127.0.0.1  (mysql-5.1.34 ndb-7.0.6)
id=5    @127.0.0.1  (mysql-5.1.34 ndb-7.0.6)
id=6 (not connected, accepting connect from localhost)

管理节点总配置文件内容如下,(供理解备份恢复命令使用)
[ndbd default]
noofreplicas=2
[ndbd]
datadir=/usr/local/mysql/logs_2
backupdatadir=/usr/local/mysql/backup_2
hostname=localhost
id=2
[ndbd]
datadir=/usr/local/mysql/logs_3
backupdatadir=/usr/local/mysql/backup_3
hostname=localhost
id=3
[ndb_mgmd]
id = 1
hostname=localhost
[mysqld]
id=4
hostname=localhost
[mysqld]
id=5
hostname=localhost
[mysqld]
id=6
hostname=localhost

基本环境介绍完

备份恢复步骤:

1 启动mysql-cluster,

注意: 在执行恢复命令的数据节点上保留需要一个sql节点, 供恢复进程使用,否则会报错显示无法为恢复进程分配空余节点(这么说要执行恢复,数据节点上必须存在sql节点,待考)

如本例中sql节点 6没有启动, 供恢复进程使用


2 准备数据

登陆sql节点.执行下面的操作,准备数据

root:test> create table dante_ndb(
    -> name varchar(4,
    -> id int)engine=ndb;
Query OK, 0 rows affected (0.84 sec)
root:test>  select * from dante_ndb;
+-------------+------+
| name        | id   |
+-------------+------+
| dante       |    1 |
| nobody      |    1 |
| helly sorry |    1 |
| nigoles.kiq |    1 |
| angle       |    1 |
+-------------+------+
5 rows in set (0.00 sec)


3 登陆管理节点客户端,执行备份

ndb_mgm> start backup;

Waiting for completed, this may take several minutes

Node 2: Backup 1 started from node 1

Node 2: Backup 1 started from node 1 completed

StartGCP: 339 StopGCP: 342

#Records: 2064 #LogRecords: 0


Data: 51544 bytes Log: 0 bytes


4 登陆sql节点,清空数据

root:test> truncate table dante_ndb;
Query OK, 0 rows affected (1.02 sec)
root:test>select * from dante_ndb;
Empty set (0.00 sec)

5 进入每个数据节点,执行恢复,因为数据存放在所有的数据节点上,所以需要到每个节点上执行ndb_restore命令,简单介绍restore命令的几个选项

-n 恢复的数据节点id

-b 使用的备份id

-r 备份数据的目录

登陆数据节点3,执行恢复命令,
[/app/mysql]# bin/ndb_restore -n 3 -b 1 -r backup_3/BACKUP/BACKUP-1/


登陆数据节点2,执行恢复命令
[/app/mysql]# bin/ndb_restore -n 2 -b 1 -r backup_2/BACKUP/BACKUP-1/


-r 参数很重要,这里
-r backup_3/ BACKUP/BACKUP-1/正是我前面配置的数据节点3的备份目录,节点2同理,
如果在一台机器上有多个数据节点,最好指定各自的备份目录和文件系统目录,因为我首次操作没有指定时,他们共用了一个数据目录,但只有一个节点的备份数据.导致恢复失败.


6 查看恢复的数据,发现恢复成功

root:test> select * from dante_ndb;
+-------------+------+
| name        | id   |
+-------------+------+
| dante       |    1 |
| nobody      |    1 |
| helly sorry |    1 |
| nigoles.kiq |    1 |
| angle       |    1 |
+-------------+------+
5 rows in set (0.00 sec)


另外备份恢复的其他问题还有待继续测试

1 官方强烈建议在single user mode下进行恢复操作,以保证数据库的一致性

问题是:这种模式要求断开其他sql节点,线上业务的sql节点不是轻易可以断的.

2 在大数据量的情况下,这种备份恢复方式速度如何?


[ 本帖最后由 la19850302 于 2009-11-10 15:08 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-11-10 15:09 |只看该作者
哥容易吗,一个下午都花这上面了.顶个先了

折腾这么久,明白一个道理,中文文档靠不住啊

论坛徽章:
0
3 [报告]
发表于 2009-11-10 16:00 |只看该作者

回复 #2 la19850302 的帖子

辛苦了

实践是检验真理的。。。文档是用来参考的

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
4 [报告]
发表于 2009-11-10 16:08 |只看该作者
我看了很多文档一般都自己再动手实践一下啊。

论坛徽章:
1
白银圣斗士
日期:2015-11-23 08:33:04
5 [报告]
发表于 2009-11-10 16:36 |只看该作者
加精鼓励下。继续努力。

论坛徽章:
0
6 [报告]
发表于 2009-11-10 16:47 |只看该作者
支持一下。

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
7 [报告]
发表于 2009-11-10 17:39 |只看该作者
NDB还是有自己的很多优势的

但是真实的应用不知道多不多

论坛徽章:
0
8 [报告]
发表于 2010-05-13 21:16 |只看该作者
回复 1# la19850302


兄弟,你这个算不算文档呢?可是也是中文的哦!

just a joke!

论坛徽章:
0
9 [报告]
发表于 2010-06-03 11:45 |只看该作者
应该是中文文档修正版,呵呵

论坛徽章:
0
10 [报告]
发表于 2010-06-25 16:56 |只看该作者
兄弟,sql结点,怎么启动的阿。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP