Mysql MariaDB 复制中断

Mysql MariaDB 复制中断

我有一个主数据库和两个副本。当 linux 服务器重新启动而没有停止 mysqld 时,replicate1 损坏了。我想使用以下命令从 replicate2 中获取转储并加载 replicate1

mysqldump --master-data --single-transaction --all-databases --compress > full_dumpfle.sql

在 replicate12 上的复制停止后,转储开始

停止从属;

转储启动后,我立即在 replicate2 上重新启动复制

启动从属;

转储文件大小为50G。

我将 my.cnf 文件从 replicate4 复制到 replicate1,保留了 replicate1 以前的 my.cnf 文件中的 server-id,以及 master_user 和 master_password 行。

我加载数据库

mysql < 完整转储文件.sql

我发现负载耗尽了磁盘空间,在不幸的重启之前,这足以满足 replicate1 的需要。我甚至添加了 100G 的磁盘空间,但负载也有可能耗尽这 100G 的磁盘空间。

我截断了巨大的 128G 的 slow_log 表并删除了另外 56G 的主数据库,在一次几乎耗尽可用磁盘的加载失败后,当我开始第二次加载时,大约有 245G 是空闲的。

我只想将 replicate1 作为 master 的副本返回服务。显然我使用的方法不起作用。有人能告诉我如何正确加载转储吗?不拘泥于转储,可以再拿一个。如果需要,甚至可以从头开始在 replicate1 上启动复制,但如果可以的话,我宁愿不加载 master。

所有这些都在我们的私有云上​​进行,因此建议降低负载。

所有这些都在 ubuntu10.04LTS 和 MaridDB 上。

服务器版本:5.2.12-MariaDB-mariadb115~lucid-log

如有任何建设性建议我将不胜感激。

拉乌尔

答案1

我对 Percona XtraBackup 的使用体验很好。请参阅“如何使用 Xtrabackup 通过 6 个简单步骤设置从属服务器以进行复制“ 食谱。

相关内容