mysql主从数据库不同步的2种解决方法

下面是详细讲解“mysql主从数据库不同步的2种解决方法”的完整攻略:

标题

mysql主从数据库不同步的2种解决方法

前言

MySQL主从复制是常用的数据库复制方式之一,在应用场景中起到了很重要的作用,其实现和维护也是相对简单的。但是,在实际的使用中,我们还是经常会遇到由于网络或其他因素导致主从数据库不同步的情况。本文将介绍针对此类问题的两种解决方法,以帮助我们更好的应对这类问题。

解决方案

解决方案一:手动重置同步

在 MySQL 主从复制中,我们可以通过手动重置主从复制来解决不同步的问题:

  1. 首先,在从库中停止 MySQL
systemctl stop mysqld
  1. 以指定参数启动 MySQL,其中 master-host 是主库的 IP 地址, master-user 和 master-password 是同步帐号信息, master-data 表示启用从库使用主库的快照初始化。
mysqld --skip-slave-start --slave-skip-errors=all --skip-host-cache --skip-name-resolve --log-error=$MYSQL_HOME/data/err.err --user=mysql --server-id=2 --master-host=10.0.0.101 --master-user=slave --master-password=slave --master-data=1 &
  1. 登陆 MySQL(此时,会出现提示信息,按需操作即可)
mysql -h localhost -u root -p
  1. 执行重置同步的命令
reset slave;
  1. 开启从库 MySQL,并重新启动主库 MySQL

重启从库 MySQL:

systemctl start mysqld

重启主库 MySQL:

systemctl restart mysqld
  1. 配置从库,开始同步数据

在从库中执行下面的 Sql 命令:

change master to master_host='10.0.0.101',master_user='slave',master_password='slave',master_log_file='mysql-bin.000062',master_log_pos=15439;

运行 start slave 命令,开启从库MySQL,并开始同步数据:

start slave;

解决方案二:使用第三方工具 Percona Xtrabackup

Percona Xtrabackup 是一款开源的 MySQL 数据库备份工具,也可以使用它来处理 Master-Slave 复制存在不同步的情况。

下面是使用 Percona Xtrabackup 处理复制不同步的步骤:

  1. 在 Master 节点使用 Xtrabackup 备份
innobackupex --user=root --password=yourpassword /data/backup/
  1. 将 Master 节点备份拷贝到 Slave 节点
scp -r /data/backup/ root@slave:/data/
  1. 在 Slave 节点使用 xtrabackup 从备份中恢复
innobackupex --apply-log --user=root --password=yourpassword /data/backup
  1. 停止 MySQL 服务器
systemctl stop mysqld
  1. 设置目标路径的所有者为 MySQL 用户
chown -R mysql:mysql /data/mysql
  1. 将备份文件拷贝到目标路径
innobackupex --copy-back /data/backup
  1. 设置目标路径的所有者为 MySQL 用户
chown -R mysql:mysql /data/mysql
  1. 启动 MySQL 服务器
systemctl start mysqld

总结

主从复制是 MySQL 中常用的复制方式,在使用中会遇到复制不同步的情况。本文介绍了两种解决方法,手动重置同步和使用第三方工具 Percona Xtrabackup,相信读者在遇到类似问题的情况下会得到很好的应用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql主从数据库不同步的2种解决方法 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • MySql索引下推知识分享

    作者:刘邓忠 Mysql 是大家最常用的数据库,下面为大家带来 mysql 索引下推知识点的分享,以便巩固 mysql 基础知识,如有错误,还请各位大佬们指正。 1 什么是索引下推 索引下推 (Index Condition Pushdown,索引条件下推,简称 ICP),是 MySQL5.6 版本的新特性,它可以在对联合索引遍历过程中,对索引中包含的所有字…

    MySQL 2023年4月12日
    00
  • docker搭建Elasticsearch、Kibana、Logstash 同步mysql数据到ES

    一、前言 在数据量大的企业级实践中,Elasticsearch显得非常常见,特别是数据表超过千万级后,无论怎么优化,还是有点力不从心!使用中,最首先的问题就是怎么把千万级数据同步到Elasticsearch中,在一些开源框架中知道了,有专门进行同步的!那就是Logstash 。在思考,同步完怎么查看呢,这时Kibana映入眼帘,可视化的界面,让使用更加的得心…

    MySQL 2023年4月12日
    00
  • mysql 8.0.17 解压版安装配置方法图文教程

    下面是关于“mysql 8.0.17 解压版安装配置方法图文教程”的完整攻略: 背景说明 MySQL是一款强大的开源关系型数据库管理系统,是许多网站和应用程序背后的基石。MySQL 8.0.17是MySQL官方最新发布的稳定版本,其中的新功能和改进可以提高MySQL的性能和安全性。 步骤一:下载MySQL 8.0.17解压版 首先,我们需要从MySQL官方网…

    MySQL 2023年5月18日
    00
  • 拒绝“爆雷”!GaussDB(for MySQL)新上线了这个功能

    摘要:智能把控大数据量查询,防患系统奔溃于未然。 本文分享自华为云社区《拒绝“爆雷”!GaussDB(for MySQL)新上线了这个功能》,作者:GaussDB 数据库。 什么是最大读取行 一直以来,大数据量查询是数据库DBA们调优的重点,DBA们通常十八般武艺轮番上阵以期提升大数据查询的性能:例如分库分表、给表增加索引、设定合理的WHERE查询条件、限定…

    2023年4月8日
    00
  • 一文详解MySQL Join使用原理

    一文详解MySQL Join使用原理 MySQL Join 是 SQL 语言中相对复杂的一个命令,用于将不同表中的数据合并在一起。通过 Join 命令,可以将多个表中有关联的数据进行联合查询,从而更加快速、方便地获得我们所需的数据。本文将详细介绍 MySQL Join 的使用原理以及常见类型、操作方法。 Join 的基本概念 Join 是 MySQL 数据库…

    MySQL 2023年5月19日
    00
  • 关于 MySQL 嵌套子查询中,无法关联主表字段问题的折中解决方法

    今天在工作中写项目的时候,遇到了一个让我感到几乎无解的问题,在转换了思路后,想出了一个折中的解决方案,记录如下。 其实,问题的场景,非常简单: 就是需要查询出上图的数据,红框是从 项目产品表 中查询的2个字段,绿框是从与项目产品表关联的 文章表 中查询出的1个字段。我希望实现的效果是,获取到项目产品对应的文章提交人数,即该项目产品,有多少人提交了文章。看似很…

    MySQL 2023年4月12日
    00
  • MySQL一次大量内存消耗的跟踪

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。 文章来源:GreatSQL社区原创 线上使用MySQL8.0.25的数据库,通过监控发现数据库在查询一个视图(80张表的union all)时内存和cpu均明显上升。 在8.0.25 MySQL Communit…

    MySQL 2023年5月6日
    00
  • ubuntu16.04彻底卸载mysql并且重新安装mysql

    首先删除mysql: sudo apt-get remove mysql-* dpkg -l |grep ^rc|awk ‘{print $2}’ |sudo xargs dpkg -P 清理完毕: dpkg: error: –purge needs at least one package name argument Type dpkg –help f…

    MySQL 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部