mysql 主从复制不一致,不停库不锁表恢复主从同步
注意: 进行此操作时,确认在之前已经开启了MySQL的bin-log日志,如果没有则无法实现
为了安全考虑,我们授权一个用户进行数据备份:
[root@7con ] mysql -uroot -p
mysql> grant all on *.* to 'skon'@'192.168.1.1' identified by 'user_passwd';
备份主库上的数据库数据,注意添加以下选项
详细参数含义,请参考MySQL官方文档:https://dev.mysql.com/doc/
[root@7con ] mysqldump -uskon -p --single-transaction --master-data=2 --no-autocommit -A >alldatas.sql
如果想要备份指定库,需要添加 replicate_wild_do_table选项,为了保持数据的完全一致性,个人不建议只备份指定库。
1、将从库上的数据库清空,并还原为普通的数据库,(删除master.info relay-log.info relay-bin.index)
2、重置mysql数据库的master和slave;重置slave时,先停止slave(stop slave;)
[root@7con ] mysql -uroot -p
mysql> reset master;
mysql> show master status\G
mysql> stop slave;
mysql> reset slave;
mysql> show slave status\G
# 这里可以看到,master和slave已经被重置
接下来就是导入数据库信息,导入之后重新指向主库:
注意:重新指向主库的master_log_file和master_log_pos,不是主库show master status;显示的信息,而是从主库上备份的文件里的信息,如下图:

接下来我们进行操作:(从库上操作)
还原数据库
[root@7con ] mysql -uroot -p < alldatas.sql
重新设置同步
[root@7con ] mysql -uroot -p
mysql > change master to
-> master_host='192.168.1.1',
-> master_user='Skon',
-> master_password='Skon123',
-> master_log_file='binlog.000204',
-> master_log_pos=547507087;
mysql > start slave;
mysql > show slave status\G
最终的结果如下图:

可以看到 Slave_IO_Running 和 Slave_SQL_Running 均为yes,说明主从同步已经恢复;
Seconds_Behind_Master 刚开始的数值会很大,最后会逐渐的减至为0,说明从库正在从主库上写入之前没有同步的数据,直至同步完成。
作者:Seichung
来源:CSDN
原文:https://blog.csdn.net/Scirhh/article/details/86586187
版权声明:本文为博主原创文章,转载请附上博文链接!
mysql 主从复制不一致,不停库不锁表恢复主从同步的更多相关文章
- 通过 XtraBackup 实现不停机不锁表搭建主从同步
简介 Xtrabackup是由 Percona 开发的一个开源软件,可实现对 InnoDB 的数据备份,支持在线热备份(备份时不影响数据读写).备份时,Xtrabackup 会将 Master 的 b ...
- 从库因为sql错误导致主从同步被中断的问题解决
从库因为sql错误导致主从同步被中断的问题解决:show slave status\G;看lasterror:看延迟多少秒,正常情况下是没有延迟的. 跳过错误的那条sql:SET GLOBAL SQL ...
- Mysql 锁库与锁表
一.全局锁表 1.FLUSH TABLES WITH READ LOCK 这个命令是全局读锁定,执行了命令之后所有库所有表都被锁定只读.一般都是用在数据库联机备份,这个时候数据库的写操作将被阻塞,读操 ...
- 重新学习Mysql数据13:Mysql主从复制,读写分离,分表分库策略与实践
一.MySQL扩展具体的实现方式 随着业务规模的不断扩大,需要选择合适的方案去应对数据规模的增长,以应对逐渐增长的访问压力和数据量. 关于数据库的扩展主要包括:业务拆分.主从复制.读写分离.数据库分库 ...
- mysql更新(三)语句 库的操作 表的操作
04-初始mysql语句 本节课先对mysql的基本语法初体验. 操作文件夹(库) 增 create database db1 charset utf8; 查 # 查看当前创建的数据库 show ...
- 搭建mysql主从复制和删库数据恢复策略
搭建主从复制 主机: [mysqld] 下增加 vim /etc/my.cnf ## 设置 server_id,一般设置为 IP server_id=8 # # 复制过滤:需要备份的数据库,输出 bi ...
- mysql批量update操作时出现锁表
https://www.cnblogs.com/wodebudong/articles/7976474.html 最近遇到一件锁表的情况,发现更新的语句where检索的字段,没有建索引,且是批量操作的 ...
- Mysql 通过information_schema爆库,爆表,爆字段
MySQL版本大于5.0时,有个默认数据库information_schema,里面存放着所有数据库的信息(比如表名. 列名.对应权限等),通过这个数据库,我们就可以跨库查询,爆表爆列. 若要从这些视 ...
- mysql批量更新update中的锁表机制
mysql的行锁是通过索引加载的,即行锁是加在索引响应的行上的,要是对应的SQL语句没有走索引,则会全表扫描,行锁则无法实现,取而代之的是表锁. CREATE TABLE SIMPLE_USER( I ...
随机推荐
- IO-file-03 文件的长度
package com.bwie.io; import java.io.File; public class FileDemo4 { /**文件字节数 * length():字节数 文件夹 0 * * ...
- INI配置文件格式解析
INI配置文件有三要素parameters,sections和comments. 1.parameters 指一条配置,就像key = value这样的. 2.sections sections是pa ...
- POJ 1742 (单调队列优化多重背包+混合背包)
(点击此处查看原题) 题意分析 给你n种不同价值的硬币,价值为val[1],val[2]...val[n],每种价值的硬币有num[1],num[2]...num[n]个,问使用这n种硬币可以凑齐[1 ...
- ffmpeg解码音视频过程(附代码)
0. 引言 最近一直在使用和学习ffmpeg. 工作中需要拉流解码, 获取音频和视频数据. 这些都是使用ffmpeg处理. 因为对ffmpeg接触不多, 用的不深, 在使用的过程中经常遇到不太懂的地方 ...
- Django中ORM常用字段及字段参数
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...
- MySQL SELECT语法(四)UNION语法详解
源自MySQL 5.7 官方手册:13.2.9.3 UNION Syntax 一.UNION语法 UNION用于将多个SELECT语句的结果合并到一个结果集中. SELECT ... UNION [A ...
- MyBatis 源码篇-日志模块1
在 Java 开发中常用的日志框架有 Log4j.Log4j2.Apache Common Log.java.util.logging.slf4j 等,这些日志框架对外提供的接口各不相同.本章详细描述 ...
- 简单分析synchronized不会锁泄漏的原因
最近看到一句话:内部锁synchronized不会造成锁泄漏(Lock Leak). 锁泄漏是指一个线程获得某个锁以后,由于程序的错误.缺陷致使该锁一直没法被释放而导致其他线程一直无法获得该锁的现象. ...
- ADF为EO的ITEM添加默认值
Literal:设置为缺省的静态值.Expression:使用 Groovy 表达式设置缺省值.下面是一个表达式,用于将数据库序列(EMPLOYEES_SEQ)作为主键的缺省值:(new oracle ...
- 14.JdbcUtils框架
1.编写自己的JdbcUtils 框架 2.使用 dbUtils 框架 1.视频中自己编写的JdbcUtils框架差不多就是dbUtils框架 2.使用 使用dbutils框架完成curd,以及批处理 ...