Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6666486
  • 博文数量: 1005
  • 博客积分: 8199
  • 博客等级: 中将
  • 技术积分: 13071
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-25 20:19
个人简介

脚踏实地、勇往直前!

文章分类

全部博文(1005)

文章存档

2020年(2)

2019年(93)

2018年(208)

2017年(81)

2016年(49)

2015年(50)

2014年(170)

2013年(52)

2012年(177)

2011年(93)

2010年(30)

分类: Mysql/postgreSQL

2016-05-31 14:53:04

通常情况下,我们在日常维护的过程中发现备库的数据跟主库不一致,这个时候我们可以重新部署复制,确保主备数据一致。


1.备份数据库
flush tables with read lock; ##锁表,禁止写入
mysqldump -h localhost -uroot -pmysql -S /db/mmm/mysql/mysql.sock --single-transaction --databases hxl>/db/hxl_bak.sql ##导出备库不一致的数据库


查看主数据库的binlog和pos:
mysql> show master status \G;
*************************** 1. row ***************************
             File: binlog.000045
         Position: 194
     Binlog_Do_DB: 
 Binlog_Ignore_DB: 
Executed_Gtid_Set: f47c3f0a-6460-11e7-825d-080027f5de7d:1-529
1 row in set (0.00 sec)


2.把数据文件传到需要恢复的机器
[root@host01 db]# scp hxl_bak.sql


3.还原数据库
3.1 停止slave
stop slave
3.1 将原来的数据库删除掉
drop database hxl;
3.2 导入数据库
mysql -h localhost -uroot -pmysql -S /db/mmm/mysql/mysql.sock < /db/hxl_bak.sql


4.重新配置主从
change master to master_host='192.168.56.111',
       master_port=3306,
       master_user='repl',
       master_password='mysql',
       master_log_file='binlog.000045',  ##主库上show master status查看当前的日志
       master_log_pos=194;
start slave;

5.在备份的数据库上释放锁
unlock table; ##释放表锁


-- The End --

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