开发者社区> 余二五> 正文

恢复MySQL slave上的某几张表的方法

简介:
+关注继续查看

恢复slave上的某几张表的方法

摘录自《MySQL管理之道》Page126


有时候,slave上只是几张表有些问题,如果从master上dump一份进行恢复的话,对于体积很大的数据库,则要花费很长的时间,长时间的持锁还容易影响到业务。


下面介绍一种方法,恢复test_DB下的3张表tb1、tb2、tb3,操作如下:



1、在slave上先停止复制

1
> stop slave;


2、在主库上导出3张需要恢复的表,并记录下同步的binlog和POS点。

1
# mysqldump -uroot -proot -q --single-trasaction --master-data=2 test_DB tb1 tb2 tb3 > /root/tb123.sql


3、查看/root/tb123.sql 找到记录的binlog和POS点

1
# more /root/tb123.sql 例如 “master_LOG_FILE='mnysql-bin.000010',master_LOG_POS=10020;”


4、做change master to操作:

1
2
3
> start slave until master_LOG_FILE='mysql-bin.000010',master_LOG_POS=10020;
直到sql_thread线程为NO,这期间的同步报错一律跳过即可,可以用如下命令跳过:
> stop slave; set global slave_skip_counter=1; start slave;



5、把/root/tb123.sql复制到slave机器上,并在slave机器上导入/root/tb123.sql

1
# mysql -uroot -proot test_DB < /root/tb123.sql


6、导入完毕,即可开启slave同步。

1
> start slave;

操作完成,在slave上执行show slave status\G查看即可。











本文转自 lirulei90 51CTO博客,原文链接:http://blog.51cto.com/lee90/1793517,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MySQL故障排查与性能分析方法汇总
MySQL故障排查与性能分析方法汇总
87 0
MySQL 索引的用处和实现方法
MySQL 索引的用处和实现方法
28 0
MySql出现#1036 – Table ‘ ‘ is read only 错误解决方法
MySql出现#1036 – Table ‘ ‘ is read only 错误解决方法
149 0
mysql通过my.cnf修改默认字符集为utf-8的方法和注意事项
mysql通过my.cnf修改默认字符集为utf-8的方法和注意事项
104 0
Mysql 查看死锁,解除死锁的方法
Mysql 查看死锁,解除死锁的方法
76 0
mysql导出数据方法
mysql导出数据方法
40 0
mysql格式化字符串生成订单号的方法
mysql格式化字符串生成订单号的方法
29 0
MySQL误删恢复方法2
实际工作中总会发生数据误删除的场景,在没有备份情况下,如何快速恢复误删数据就显得非常重要。 本文基于MySQL的binlog日志机制,当日志格式设置为“binlog_format=ROW”时,记录一步一步手动解析binlog、恢复误删数据的全过程,供大家参考使用。
51 0
MySQL误删恢复方法1
MySQL不同于oracle,没有闪回查询这类概念,但网上流传几个闪回的开源工具如 binglog2sql、MyFlash,可以使用binglog日志进行误操作数据的恢复。
40 0
+关注
余二五
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
让 MySQL 原生分布式触手可及
立即下载
好的 MySQL 兼容可以做到什么程度
立即下载
云数据库RDS MySQL从入门到高阶
立即下载