运行mysqldump是否会修改二进制日志?

运行mysqldump是否会修改二进制日志?,mysql,mysqldump,database-replication,Mysql,Mysqldump,Database Replication,我已经阅读了类似问题的答案,但我不认为它们回答了我的具体问题,如果我在这里重复,对不起 我正在使用主设备和从设备(均为MyISAM)之间的现有数据设置复制。我有一个主数据库,可以在白天写入,但不是一夜之间(即,不是现在)。正如在dev.mysql.com网站上所解释的,我首先在主机上运行带有读锁的FLUSH表,并使用SHOW master STATUS获得二进制日志位置 在另一个会话中,我在主机上运行mysqldump,以便将该数据复制到从机。我使用--lock all tables选项运行my

我已经阅读了类似问题的答案,但我不认为它们回答了我的具体问题,如果我在这里重复,对不起

我正在使用主设备和从设备(均为MyISAM)之间的现有数据设置复制。我有一个主数据库,可以在白天写入,但不是一夜之间(即,不是现在)。正如在dev.mysql.com网站上所解释的,我首先在主机上运行带有读锁的FLUSH表,并使用SHOW master STATUS获得二进制日志位置

在另一个会话中,我在主机上运行mysqldump,以便将该数据复制到从机。我使用--lock all tables选项运行mysqldump

然而,在运行mysqldump之后,我再次检查了主机状态,二进制日志位置增加了大约30。自从mysqldump完成后,它一直没有向上移动

这是由于mysqldump导致的吗?还是锁没有生效,我需要重新读取主数据


再次,如果我重复一个问题,请道歉!谢谢。

Mysqldump不应导致二进制日志位置更改

你需要调查它为什么会改变。查看二进制日志,了解写入日志的内容。使用此命令

例如,如果在binlog.0000003中将初始位置记录为1234,则执行:

mysqlbinlog --start-position=1234 binlog.0000003

这将显示二进制日志中特定位置后应用的更改。

这似乎是一个复杂的手动过程。为什么不直接使用呢?谢谢亚萨,我的目的就是这样做,我的步骤是基于你提供的链接。我按照第15.1.1节“如何设置复制”的链接,特别是在我的问题中,我尝试执行第15.1.1.5节“使用mysqldump创建数据快照”。啊。知道了。这是有道理的。只是想结束这个问题:一旦您在快照时拍摄了数据和主坐标的快照,您就可以让客户机再次开始向主设备写入数据,同时将数据复制到从设备中。您不必一直禁用对主设备的写入,直到启动从设备。坐标(主binlog文件和pos)准确地告诉从机开始复制的位置——即使主机的进度远远超过了该点(只要不删除binlog)。