什么是恢复MySQL复制的最快方法?

我有一个MySQL(5.1)主从复制对,并复制到从属失败。 它失败,因为主磁盘空间不足,中继日志损坏。 主人现在恢复在线并正常工作。 由于日志中有这个错误,所以从属进程不能简单地重新启动。

服务器有一个单一的40GB的InnoDB数据库,我想知道什么是最快的方法让奴隶重新同步,以减less停机时间。

您可以尝试reset slave mysql命令来忽略当前的日志文件。 但是,您应该小心,因为这可能会导致数据丢失/不一致。

我认为安全的方法是从头开始重build复制,以确保没有数据丢失/不一致。

复制数据目录比使用mysqldump导出数据库要快得多。

首先,使用以下方法locking表格:

 > FLUSH TABLES WITH READ LOCK; 

然后,复制数据目录。 所以,停机时间将是复制数据目录的时间。 有关更完整的指南,请看看这个 。 您需要复制数据目录而不是使用mysqldump 。 将数据文件/文件夹复制到从属服务器之后,需要修复权限。

如果你想从头开始(我认为是最安全的),使用myqldump和–master-data开关。 您的转储现在将包含CHANGE MASTER TO MASTER_LOG_FILE和MASTER_LOG_POS。 加载到你的奴隶转储,你的好去。