不停机修复mysql主从数据同步错误导致服务器磁盘占满问题

这篇具有很好参考价值的文章主要介绍了不停机修复mysql主从数据同步错误导致服务器磁盘占满问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

事情的现象:

        线上生产环境mysql服务器采用主从结构。突然告警从库服务器磁盘占用高。经过磁盘空间检查,主要是/mysql/data目录使用100%(直接占满了),进入目录后发现被文件slave-relay-bin.*系列文件占满了。常理数据不会这么大,主库一切正常,磁盘空间也正常。定位问题开始。

1:查看从库的同步状态

show slave status;

不停机修复mysql主从数据同步错误导致服务器磁盘占满问题

 发现如图所示的提示信息,等待磁盘空间,具体错误的原因是从库好像被人修改过数据,导致同步数据过程中数据不一致,所以一直报错,导致日志占满了磁盘空间。

2:那就要手动从主库全部同步一次,这期间还不能停主库的数据库服务(用户都在不间断使用系统),开工

2-1:首先将主库的数据dump出来一定要包含binlog点位信息(如果主从,binlog一定会开启)

mysqldump -udb_user -pdb_password --flush-logs --single-transaction --master-data=2 --all-databases > backup.sql

        其中参数分别表示:

        --flush-logs 代表重新刷写另外一个binlog文件
        --single-transaction 代表开启事物,不锁表导出
        --master-data=2 代表导出的文件头部添加binlog点位信息

2-2:将备份的文件backup.sql拷贝到从库服务器上(可使用scp)

2-3:切换到从库服务器停止同步

        stop slave;

2-4:然后将从库清空,为保险期间我清理了/mysql/data目录下所有的slave-relay-bin.*系列文件,然后对应的业务库删掉重建

2-5:导入主库备份的数据

        source <备份文件路径>

2-6:重置从库同步信息

        reset slave;

2-7:修改从库同步点位信息

CHANGE MASTER TO MASTER_HOST='************',MASTER_Port=***,MASTER_USER='*****',MASTER_PASSWORD='*****',MASTER_LOG_FILE='master-bin.*******',MASTER_LOG_POS=****;

其中点位信息要从备份出的backup.sql文件中查找,在文件头部前50行左右就能看到。然后替换命令中所有的参数为自己的实际参数执行提示修改成功即可。

2-8:开启同步

        start slave;

2-9:检查同步状态

        show slave status\G;       其中\G格式化输出

        只要sql_running和io_running都为yes即可,表示成功。

2-10:检查主库和从库业务表数据是否一致,磁盘空间是否正常。(完工)

大家有什么更好的解决办法欢迎指导交流。

ps:我是个开发,不是专业的运维,有些操作可能比较粗糙。文章来源地址https://www.toymoban.com/news/detail-433074.html

到了这里,关于不停机修复mysql主从数据同步错误导致服务器磁盘占满问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Linux系统中MySQL 数据库的主从同步

    在主数据库服务器上配置: 编辑主数据库服务器的配置文件(my.cnf) : 打开 MySQL 配置文件,一般路径为 /etc/my.cnf 或 /etc/mysql/my.cnf。 确保以下参数已启用或配置正确: 注: 一定是[mysqld]代码块中 创建用于复制的用户 : 登录到 MySQL 控制台: mysql -u root -p 创建用于复制的用户

    2024年03月23日
    浏览(12)
  • 发现Mysql的主从数据库没有同步,差点凉凉了

    摘要: 今天发现Mysql的主从数据库没有同步,瞬间整个人头皮发麻。 本文分享自华为云社区《糟了,生产环境数据竟然不一致,人麻了!》,作者:冰 河 。 今天发现Mysql的主从数据库没有同步 先上Master库: 查看下进程是否Sleep太多。发现很正常。 也正常。 再到Slave上查看

    2023年04月17日
    浏览(10)
  • 【服务器数据恢复】Raid5热备盘同步失败导致lvm结构损坏的数据恢复案例

    【服务器数据恢复】Raid5热备盘同步失败导致lvm结构损坏的数据恢复案例

    服务器数据恢复环境: 两组由4块磁盘组建的raid5磁盘阵列,两组raid5阵列划分为lun并组成了lvm结构,ext3文件系统。 服务器故障: 一组raid5阵列中的一块硬盘离线,热备盘自动上线并开始同步数据。在热备盘完成同步之前,该组raid5阵列中另一块硬盘离线,热备盘同步失败,该

    2024年01月16日
    浏览(16)
  • 7 - MySQL主从同步|主从同步模式

    7 - MySQL主从同步|主从同步模式

    1 - 数据库服务概述 | 构建MySQL服务 | 数据库基本管理 | MySQL基本类型 2 - 表结构 | MySQL键值 3 - 字段约束|MySQL索引|MySQL用户管理 4 - 基础查询进阶|连接查询 5 - 视图|存储过程 6 - 数据备份与恢复|innobackupex 7 - MySQL主从同步|主从同步模式 8 - MySQL数据读写分离|MySQL多实例

    2024年02月02日
    浏览(11)
  • 【mysql】MySQL 主从同步延迟排查

    错误日志: ○ 寻找与同步问题相关的错误消息或警告。 复制状态: ○ SHOW SLAVE STATUS 并行复制设置: ○ 确保 slave_parallel_workers 的值合适。如果值过高,可能会导致资源竞争,而值过低可能会导致性能下降。 长事务: ○ 查询长时间运行的事务,可能会影响到复制的正常进行

    2024年02月07日
    浏览(13)
  • mysql 主从同步

    mysql 主从同步

    角色 ip master 192.168.233.100 slave1 192.168.233.101 slave2 192.168.233.102 禁用 selinux 跟 firewal l情况下: 新路径已修改为 /var/lib/mysql/new_bin master 节点信息 在 master 节点新建同步账号 在 master 与 slave 节点创建数据库 在 slave1 节点配置 发现错误:Last_IO_Error: Fatal error: The slave I/O thread stops be

    2024年02月07日
    浏览(9)
  • mysql 主从同步案例集合

    mysql 主从同步案例集合

      relay log 损坏了,导致从库的 SQL 线程解析 relay log 时出现异常。从库恢复方式是通过手动设置当时出错的 GTID 的下一个值,让从库不从主库同步这个 GTID,最后从库就能正常同步这个 GTID 之后的 binlog 了,后续 SQL 线程也能正常解析 relay log 了。 你好,我是悟空。 本文主要内

    2023年04月14日
    浏览(13)
  • 配置mysql的主从同步

    配置mysql的主从同步

    添加用户 添加用户权限 显示主库状态 配置从库 启动从库 如果要重新修改配置 ,需要先停止 最后查看从库状态

    2024年02月21日
    浏览(6)
  • Mysql架构篇--Mysql 主从同步方案

    Mysql架构篇--Mysql 主从同步方案

    本文对mysql的传统主从复制,半同步复制和组复制进行介绍。 Master 数据库只要发生变化,立马记录到Binlog 日志文件中,Slave数据库启动一个I/0 thread连接Master数据库,请求Master变化的二进制日志。Save I/0获取到的二进制日志,保存到自己的Relay log 日志文件中。Slave 有一个 SQL

    2024年02月07日
    浏览(7)
  • MYSQL---主从同步概述与配置

    MYSQL---主从同步概述与配置

    实现数据自动同步的服务结构 Maste:启用binlog 日志 Slave:Slave_IO: 复制master主机binlog 日志文件的SQL命令到本机的relay-log(中继日志) 文件里。 Slave_SQL: 执行本机 relay-log(中继日志) 文件里的SQL语句,实现与 Master 数据一致。 1》开启binlog日志,记录所有除查询以外的SQL命令 1》从服

    2023年04月21日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包