AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 708641
Accepted
Tim Stoop
Tim Stoop
Asked: 2015-07-27 13:45:28 +0800 CST2015-07-27 13:45:28 +0800 CST 2015-07-27 13:45:28 +0800 CST

XtraBackup 还原在从属上提供重复项?

  • 772

我们最近将 MySQL 5.0 master-master setup 升级到 Percona 5.6。由于我们这边的一些故障,Slaving 变得 b0rken,但我们认为我们可以通过使用 xtrabackup 从正在运行的服务器创建备份并将其导入到 slave 来简单地修复它。我整个周末都在尝试这样做(部分原因是它是一个巨大的数据库,其中包含大量的数据库和表),但无济于事。有人可以阐明我在这里可能做错了什么吗?

首先,我在当前的生产主服务器上运行以下命令:

ulimit -n 409600 innobackupex --defaults-file=/etc/mysql/debian.cnf /mnt

完成后,我将生成的目录复制到另一台服务器并运行:

innobackupex --use-memory=4G --apply-log /srv/restore

它最终以 OK 消息退出。现在我将它恢复到数据库:

innobackupex --move-back /srv/restore

一切顺利,我可以再次启动 MySQL(在我 chown /srv/mysql 目录,这是我们的数据目录之后)。数据在那里,数据库运行良好。现在我开始在这个数据库上工作:

/usr/bin/mysql --defaults-file=/etc/mysql/debian.cnf -e "CHANGE MASTER TO MASTER_HOST='10.x.x.x', MASTER_USER='replication', MASTER_PASSWORD='verysecret', MASTER_AUTO_POSITION=1; START SLAVE"

从动开始但由于 1062 错误而立即停止。经过调查,我发现它尝试应用的条目是在我开始备份后立即添加到主数据库中的。我可以解决这个问题,但我立即收到一个新错误。

对我来说,备份似乎没有包含所有最新的 GTID,只有在备份开始时可用的那些?我认为这正是 XtraBackup 应该解决的问题?我现在看不到确保在备份期间不对数据库进行任何写入的替代方法。我在这里做错了吗?这应该发生吗?

在带有所有最新补丁的 Debian Wheezy 上运行。

Server version: 5.6.25-73.1-log Percona Server (GPL), Release 73.1, Revision 07b797f $ innobackupex --version InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy and Percona LLC and/or its affiliates 2009-2013. All Rights Reserved. $ xtrabackup --version xtrabackup version 2.2.11 based on MySQL server 5.6.24 Linux (x86_64) (revision id: )

mysql-replication
  • 1 1 个回答
  • 424 Views

1 个回答

  • Voted
  1. Best Answer
    Tan Hong Tat
    2015-07-27T19:11:30+08:002015-07-27T19:11:30+08:00

    您必须告诉从属服务器在进行备份时在主服务器上执行的最后一个 GTID 是什么。

    NewSlave > SET GLOBAL gtid_purged="XXXX";
    NewSlave > CHANGE MASTER TO
               MASTER_HOST="10.x.x.x",
               MASTER_USER="replication",
               MASTER_PASSWORD="verysecret",
               MASTER_AUTO_POSITION = 1;
    NewSlave > START SLAVE;
    NewSlave > SHOW SLAVE STATUS \G;
    

    来源:https ://www.percona.com/doc/percona-xtrabackup/2.1/howtos/recipes_ibkx_gtid.html

    • 1

相关问题

  • 为什么--skip-slave-start 推荐与 MySQL `START SLAVE UNTIL` 一起使用?

  • 诊断 Mysql 复制问题

  • 为什么使用 --flush-logs 执行 mysqldump 时 mysql slave 会死掉?

  • 如何从 MySQL 导出权限,然后导入到新服务器?

  • 跨地理位置不同的服务器的 MySQL 复制

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve