Chinaunix首页 | 论坛 | 博客
  • 博客访问: 194254
  • 博文数量: 69
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 720
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-03 11:35
文章分类

全部博文(69)

文章存档

2011年(13)

2010年(46)

2009年(10)

我的朋友

分类: Mysql/postgreSQL

2010-01-18 11:44:50

MySql 100118MySQL Backup&Recovery

@ http://zcatt.cublog.cn

1.    备份的类型

1)逻辑备份与物理备份 logical and physical

特别说明,物理备份无法保存memory类型的数据。

 

2)热备份和冷备份 (hot/online and cold/offline)

 

3)本地备份和远程备份 local and remote

 

4)全备份和增量备份 full and increment

 

 

2.    mysqldump & binlog的备份方式

备份方案: mysqldump用于全备份, 配合bin-log方式的增量备份。mysqld应当使用bin-log方式启动。

 

mysqldump的命令

shell> mysqldump --single-transaction --flush-logs --master-data=2 all-databases > backup_sunday_1_PM.sql

options:

 

--single-transaction  保证mysqldump操作过程中记录的数据库数据是不变的。

--flush-logs  关闭旧的bin-log,以当下的时间重新打开一个bin-log

--master-data=2  用于在生成的备份sql文档中增加下面两句话。

 

-- Position to start replication or point-in-time recovery from

--CHANGE MASTER TO MASTER_LOG_FILE='yourdb-bin.000008', MASTER_LOG_POS=106;

 

这样,

1)  dump file中包括了bin-logyourdb-bin.00008)之前的所有数据。

2)  之后的数据变化都记录到yourdb-bin.00008和后续的bin-log文件中。

 

两个命令可以显示当前的bin log信息

mysql> SHOW MASTER STATUS;

mysql> SHOW MASTER LOGS;

 

 

3.    Recovery

第一步,恢复基准full部分

shell> mysql < backup_sunday_1_PM.sql

 

第二步,恢复增量部分

shell> mysqlbinlog yourdb-bin.000008 yourdb-bin.000009 | mysql

 

mysqlbinlog还支持恢复到指定时间点的功能,使用选项start-datetimestop-datetime。具体参见它的命令帮助。

 

 

 

 

 

 

 

 

 

 

 

阅读(1190) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~