免费注册 查看新帖 |

Chinaunix

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

备份DB的恢复 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-02-02 16:12 |只看该作者 |倒序浏览

两台数据库服务器(192.168.1.50、51),目前应用均在50机器上,51只是备份机器,考虑到复制已经出现多处数据不一致,并且51机器只作备份机器,因此对51的数据采取重建策略,由50机器上的数据导出并导入到51,执行如下这些步骤:

-- 1. 在 50 DB 执行:
flush logs;
stop slave;
show master logs;
show slave status \G

mysqldump -uroot -p --single-transaction --all-databases --force -R > /home/kay.zhang/all50.sql
scp /home/kay.zhang/all50.sql 192.168.1.51:/home/kay.zhang/

-- 2. 在 51 DB 执行:
flush logs;
stop slave;
show master logs;
show slave status \G

tee /home/kay.zhang/all50in51.log;
source /home/kay.zhang/all50.sql;
notee;

flush logs;
stop slave;
show master logs;
show slave status \G

# 使用 50 机器开始备份时flush logs 所产生的那个日志文件
change master to master_log_file='mysql-bin.000167', master_log_pos=4;

# 由于 50 机器在导出过程中仍然会产生记录,所以从'mysql-bin.000167'开始复制之后,会出现某些数据重复的错误,
# 直接忽略这些错误并再启动slave即可,重复执行以下语句直到不再有错误
stop slave;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
start slave;
show slave status \G


-- 3. 在 51 DB 上执行:
# 将50 上的复制起点定在数据成功导入之后再次 flush logs 所产生的新文件
stop slave;
change master to master_log_file='mysql-bin.000123', master_log_pos=4;
start slave;
show slave status \G


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/64007/showart_2167569.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP