首页
学习
活动
专区
圈层
工具
发布

mysql从库重做

基础概念

MySQL从库重做(Rebuilding Slave)是指在MySQL主从复制环境中,由于某些原因(如从库数据损坏、主从同步中断等),需要重新将从库的数据恢复到与主库一致的过程。

优势

  1. 数据一致性:确保从库数据与主库数据保持一致,避免因数据不一致导致的数据错误。
  2. 故障恢复:在从库出现故障或数据损坏时,可以通过重做从库来恢复数据。
  3. 提高可用性:在主从复制环境中,从库可以用于读操作,提高系统的整体可用性。

类型

  1. 全量重做:将从库的数据全部删除,然后重新从主库同步数据。
  2. 增量重做:仅同步自上次同步以来主库发生变化的数据。

应用场景

  1. 从库数据损坏:当从库的数据由于硬件故障、软件错误等原因损坏时,需要进行重做。
  2. 主从同步中断:当主从复制因网络问题、配置错误等原因中断时,需要重做从库以恢复同步。
  3. 数据一致性检查:定期进行数据一致性检查,发现数据不一致时进行重做。

可能遇到的问题及解决方法

问题1:从库数据损坏

原因:可能是由于硬件故障、软件错误、人为误操作等原因导致。

解决方法

  1. 停止从库服务。
  2. 备份当前从库数据。
  3. 删除损坏的数据文件。
  4. 使用CHANGE MASTER TO命令重新配置主从同步参数。
  5. 启动从库服务,开始同步数据。
代码语言:txt
复制
-- 停止从库服务
STOP SLAVE;

-- 删除损坏的数据文件(谨慎操作)
rm -rf /path/to/data/files;

-- 重新配置主从同步参数
CHANGE MASTER TO
MASTER_HOST='master_host',
MASTER_USER='replication_user',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='master_log_file',
MASTER_LOG_POS=master_log_pos;

-- 启动从库服务
START SLAVE;

问题2:主从同步中断

原因:可能是由于网络问题、配置错误、主库故障等原因导致。

解决方法

  1. 检查网络连接,确保主从库之间的网络通畅。
  2. 检查主从同步配置,确保配置正确。
  3. 检查主库状态,确保主库正常运行。
  4. 如果主库故障,需要先恢复主库。
  5. 使用SHOW SLAVE STATUS命令查看从库同步状态,根据状态信息进行相应的调整。
代码语言:txt
复制
-- 检查从库同步状态
SHOW SLAVE STATUS\G;

-- 根据状态信息进行调整,例如:
STOP SLAVE;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
START SLAVE;

参考链接

MySQL主从复制文档

通过以上步骤和方法,可以有效地解决MySQL从库重做过程中可能遇到的问题,确保主从数据的一致性和系统的可用性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • MySQL 重做日志 redo log

    专栏持续更新中:MySQL详解 在事务的ACID特性中,原子性(A)、一致性(C)、持久性(D)由undo log和redo log实现,隔离性(I)由锁+MVCC实现 undo log:事务还没有...然后会有一个独立的线程找时机慢慢的将Buffer Pool中的脏数据刷新到磁盘上(异步过程) innodb_log_group_home_dir指定的目录下的两个文件:ib_logfile0,ib_logfile1,该文件被称作重做日志...不是把数据全部刷到磁盘,而是把记录事务完整操作的redo log从log buffer写入磁盘,再把被修改数据的状态置为commit才算是实现了事务commit成功。...就是要保证redo log完整记录到磁盘上 至于表数据的更改,buffer pool的脏数据页是不是刷新到磁盘上,我们根本不用担心,只要redo log完整的写到磁盘上,我们可以随时通过redo log重做日志来恢复事务成功...commit的数据状态(数据库最重要的是日志,而不是数据)

    1.1K20

    MySQL日志 - Redo Log重做日志

    MySQL日志历史文章, 《MySQL日志 - Error Log错误日志》 《MySQL日志 - General Query Log》 Redo日志可以说是关系型数据库的精髓之一,GreatSQL技术社群的这篇文章...《图文结合带你搞懂MySQL日志之Redo Log(重做日志)》,作了全面讲解。...Redo的整体流程 以一个更新事务为例,Redo Log 流转过程,如下图所示: 流程说明: 第1步:先将原始数据从磁盘中读入内存中来,修改数据的内存拷贝(上图中箭头1、4方向画反了) 第2步:生成一条重做日志并写入.../,表示在数据库的数据目录下。...《图表数字化的制作神器》 《寻找SQL执行线索的武器库》 《MySQL唯一索引有重复值且不是bug的场景》 《《数字中国建设整体布局规划》》 《MySQL日志 - Error Log错误日志》

    3.1K30

    0789-不停止MySQL服务重做备库的方法

    作者:周鹏辉 文档编写目的 本文描述了对CDH生产集群使用xtrabackup方式,在不停止主库且不对CDH集群有影响的情况下,重做MariaDB备库(cmskdc002)的方法。...2.3 xtrabackup方式配置主从同步 1. cdh3节点(192.168.0.223)备库删除掉从库配置 stop slave; reset slave; show slave status...4.把备份2020-07-16_16-02-06目录拷贝到从库上 scp -rp 2020-07-16_15-04-33/ root@192.168.0.223:/root/ ?...5.从库上把MySQL服务停掉,删除datadir目录,将备份目录重命名为/var/lib/mysql目录 systemctl stop mariadb systemctl status mariadb...7.从备份目录2020-07-16_15-04-33/xtrabackup_info文件获取到binlog和pos位置,并且同步,发现主从同步恢复正常。

    1.8K40

    【翻译】动态 InnoDB 重做日志调整大小 MySQL 8.0.30

    MySQL 8.0.30 的最新版本 (2022-07-26) 添加了 InnoDB 重做日志的在线调整大小功能。需要重做日志重做日志在关系数据库中起着至关重要的作用。...它主要确保数据库的持久性,它是 ACID 属性中的 D(持久性)。重做日志在崩溃恢复期间重放已提交的事务。...InnoDB 重做日志 8.0.30 之后拥有正确的重做日志文件大小是 MySQL 顺利运行的基础。但要管理和配置大小,我们需要重新启动 MySQL,这在生产数据库服务器中并不总是一件容易的事情。...一旦为您的数据库工作负载计算出最佳重做日志大小。重做日志可以轻松调整大小,我已将重做日志大小从默认的 100 MB 修改为 2GB。...随着越来越多的数据库转向 K8 和 DBaaS,此功能是一个福音。随着 MySQL 的发布,Percona 服务器将获得此功能。

    1K10

    MySQL 延迟从库介绍

    前言:我们都知道,MySQL 主从延迟是一件很难避免的情况,从库难免会偶尔追不上主库,特别是主库有大事务或者执行 DDL 的时候。...MySQL 除了这种正常从库外,还可以设置延迟从库,顾名思义就是故意让从库落后于主库多长时间,本篇文章我们一起来了解下 MySQL 中的延迟从库。...延迟从库介绍延迟复制是一种特殊的复制策略,它允许从库在主库执行完数据变更后延迟一段时间再将这些变更同步到从库。...延迟从库使用场景对比正常从库,延迟从库会落后于主库固定的时间,比如设置 3 小时或 6 小时,这样主库的更新操作会在 3 小时或 6 小时后在延迟从库执行。...点停下,这样这个延迟从库整体就回放到主库误操作前的时间点了,具体示例操作如下:sql 代码解读复制代码#在主库找到误操作的gtid,再往上一条gtid,设置同步截止点mysql> STOP SLAVE

    62310

    MySQL 延迟从库介绍

    前言:我们都知道,MySQL 主从延迟是一件很难避免的情况,从库难免会偶尔追不上主库,特别是主库有大事务或者执行 DDL 的时候。...MySQL 除了这种正常从库外,还可以设置延迟从库,顾名思义就是故意让从库落后于主库多长时间,本篇文章我们一起来了解下 MySQL 中的延迟从库。...延迟从库介绍延迟复制是一种特殊的复制策略,它允许从库在主库执行完数据变更后延迟一段时间再将这些变更同步到从库。...延迟从库使用场景对比正常从库,延迟从库会落后于主库固定的时间,比如设置 3 小时或 6 小时,这样主库的更新操作会在 3 小时或 6 小时后在延迟从库执行。...点停下,这样这个延迟从库整体就回放到主库误操作前的时间点了,具体示例操作如下:#在主库找到误操作的gtid,再往上一条gtid,设置同步截止点mysql> STOP SLAVE;mysql> change

    59110

    数据库从 mysql 开始

    在缓存方面的我们有了 redis 这样的 nosql 数据库,而 mongodb 在业务等级和 mysql 基本是平级的,当然从使用程度上说,mysql 这样关系型数据库统计地位确实根深蒂固的。...而大数据领域有列式数据库 HBase ,另外数据关系领域在一对多领域衍生出来某个对象需要的对象关系跟自己平级,那就出现了图数据库,目前主流图数据库还是 neo4j。...回到 mysql ,关于他的讲述,如今各种视频资料已经漫天遍野,本人自然无法聊出更多所以就根据其常见的机制简单介绍。索引几乎聊到数据库,索引是必然会聊到的,主键索引和唯一索引是开发必须考虑的。...主从复制中有 relay logmysql 的所有信息复制在 binlog 中,如果从节点需要复制主节点信息,需要读取主节点的 binlog 写入到 relay log,然后在从 relay...大家可能会好奇为什么还多加一个 relay log ,这是开发中默认的一个想法,网络是不可靠的,同时数据之间需要缓冲,如果从节点,读取后直接同步,那么网络出错了,可能会产生错误数据,万一有请求来了,我一遍同步一遍接受请求压力山大呀

    91310

    MySQL从库维护经验分享

    前言: MySQL 主从架构应该是最常用的一组架构了。从库会实时同步主库传输来的数据,一般从库可以作为备用节点或作查询使用。...其中 server_uuid 是一个 MySQL 实例的唯一标识, transaction_id 代表了该实例上已经提交的事务数量,并且随着事务提交单调递增,所以 GTID 能够保证每个 MySQL 实例事务的执行...特别是对于一主多从的架构,借助GTID,在发生主备切换的情况下,MySQL 的其它 Slave 可以自动在新主上找到正确的复制位置,这大大简化了复杂复制拓扑下集群的维护,也减少了人为设置复制位置发生误操作的风险...3.备份可在从库端进行 MySQL 全量备份会对服务器造成一定压力,有时也会短暂持有全局锁。特别是数据量大,业务繁忙的数据库,全量备份可能会对业务产生影响。...5.注意从库监控及主从延迟 从库虽然不如主库那么重要,但平时也要多关注从库监控状态,不要等到需要使用从库时才发现从库早已和主库不一致了。除去一些基础监控,从库端要特别关注复制状态及延迟状态。

    1.2K20

    MySQL从删库到跑路(一)——MySQL数据库简介

    MySQL是一个关系型数据库管理系统,MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,就增加了速度并提高了灵活性。...4、MySQL管理 可以使用命令行工具管理MySQL数据库(命令mysql 和 mysqladmin),也可以从MySQL的网站下载图形管理工具MySQL Administrator和MySQL Query...phpMyAdmin是由php写成的MySQL资料库系统管理程式,让管理者可用Web界面管理MySQL资料库。   ...二、MySLQ存储引擎 1、MySQL存储引擎简介 插件式存储引擎是MySQL数据库最重要的特性之一,用户可以根据应用的需要选择如何存储和索引数据库,是否使用事务等。...MySQL Workbench(GUITOOL)一款专为MySQL设计的ER/数据库建模工具,是著名的数据库设计工具DBDesigner4的继任者。

    3K20

    图文结合带你搞懂MySQL日志之Redo Log(重做日志)

    Redo的整体流程 以一个更新事务为例,Redo Log 流转过程,如下图所示: 流程说明: 第1步:先将原始数据从磁盘中读入内存中来,修改数据的内存拷贝(上图中箭头1、4方向画反了) 第2步:生成一条重做日志并写入.../,表示在数据库的数据目录下。...编辑my.cnf文件并重启数据库生效,如下所示 [root@localhost ~]# vim /etc/my.cnf innodb_log_file_size=200M 在数据库实例更新比较频繁的情况下...在将Redo日志写入日志文件组时,是从ib_logfile0开始写,如果ib_logfile0写满了,就接着ib_logfile1写。...的增量快照 有趣的statement stack MySQL科学计数法展示解惑 MySQL 聚合函数初探 ---- 关于 GreatSQL GreatSQL是由万里数据库维护的MySQL分支

    1.5K52

    图文结合带你搞懂MySQL日志之Redo Log(重做日志)

    所以最坏的情况就是事务提交后,刚写完缓冲池,数据库宕机了,那么这段数据就是丢失的,无法恢复。...Redo的整体流程 以一个更新事务为例,Redo Log 流转过程,如下图所示: 流程说明: 第1步:先将原始数据从磁盘中读入内存中来,修改数据的内存拷贝(上图中箭头1、4方向画反了) 第2步:生成一条重做日志并写入.../,表示在数据库的数据目录下。...编辑my.cnf文件并重启数据库生效,如下所示 [root@localhost ~]# vim /etc/my.cnf innodb_log_file_size=200M 在数据库实例更新比较频繁的情况下...在将Redo日志写入日志文件组时,是从ib_logfile0开始写,如果ib_logfile0写满了,就接着ib_logfile1写。

    1.5K30

    MySQL不停服务下新增从库

    背景: 随着网站访问量的增长,一主一从的架构已经无法满足业务需求,需要增加一到两台从库,我们需要在保证业务正常运行的情况下新增从库 实施: 1、首先需要保证主从两台机器间的正常通信 1 -A INPUT...= 217020207929 partial = N incremental = N format = tar compact = N compressed = N encrypted = N 4、从库安装好数据库...,做好系统初始化等操作,这里不再讲述,然后在进行还原操作 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 一定要先停止数据库,然后再清空数据目录下的所有数据...(全量备份时) service mysql stop cd /usr/local/mysql rm -rf data/* 对数据进行准备工作,合成可用的一致的数据,--use-memory可以加速准备工作的完成...:mysql -R data/ /etc/init.d/mysqld restart 这里我们有已经安装好的数据库,只需要将数据目录清空即可 5、建立主从关系 1 2 授权 grant replication

    1.8K20

    MySQL复制从库延迟优化思路

    1、什么是MySQL复制延迟? 本质是MySQL从库的relay log回放跟不上主库生成速度,产生延迟 2、主从延迟常见的原因有哪些?...1、大事务,从库回放时间较长,导致主从延迟 2、主库写入过于频繁,从库回放跟不上 3、参数配置不合理 4、主从硬件差异 5、网络延迟 6、表没有主键或者索引大量频繁的更新 7、一些读写分离的架构,从库的压力比较大...3、解决主从延迟有哪些方法 1、对于大事务,拆分成小事务 2、开启并行复制 3、升级从库硬件 4、尽量都有主键 4、什么是并行复制,参数有哪些?...先回顾MySQL并行复制的路程 a. MySQL5.6 是基于数据库级别的并行复制 slave-parallel-type=DATABASE(不同库的事务,没有锁冲突) b....business=space_collection&business_id=343928&desc=0 文章推荐: MySQL复制从库延迟原因深入分析 给MySQL 5.7打补丁,并且编译出和官方一致的

    1.1K10

    数据库初识--从MySQL 出发

    要学Web 开发,也得先对数据库有所了解呀。数据库分门别类,多种多样,目前我选择了 MySQL 。  ...看了 MySQL,觉得数据库处理也不是很难,主要就是一些对数据的处理,MySQL 主要就是一些命令的运用。   看过了,怕忘了吧,得及时记录下来。...(2)关系数据库            关系是一个带有属性的表,这个表称为关系表,一组表组成一 数据库。            表由行和列组成,其行称为元组,列称为属性。           ...除此之外,最好为数据库创建索引,可以加快查询速度。...create table book(index index_name); 查看(id)索引的使用:explain select id from book where name="book2"; 还可以从宏观上查看

    1.9K20
    领券