MySQL 5.5'二进制日志未打开',Error_code:1236

时间:2013-02-18 21:15:44

标签: mysql database-replication

我正在尝试配置master-master复制但是我收到错误。我在下面发送我的配置

服务器A

server-id = 1
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 1

master-host = Kooler-PC
master-user = replicacao
master-password = replicacao
master-connect-retry = 60
replicate-do-db = gestao_quadra

log-bin = C:\mysql\log\log-bin.log
binlog-do-db = gestao_quadra

更改MASTER_HOST ='Kooler-PC',MASTER_USER ='replicacao',MASTER_PASSWORD ='replicacao',MASTER_LOG_FILE ='log-bin.log',MASTER_LOG_POS = 0;

我已经为其他服务器更改server-id,host并在路径中创建了文件做了相同的步骤。

我收到此错误:

130218 18:03:02 [Note] Slave I/O thread: connected to master 'replicacao@Kooler-PC:3306',replication started in log 'log-bin.log ' at position 4
130218 18:03:02 [ERROR] Error reading packet from server: Binary log is not open ( server_errno=1236)
130218 18:03:02 [ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: 'Binary log is not open', Error_code: 1236
130218 18:03:02 [Note] Slave I/O thread exiting, read up to log 'log-bin.log ', position 4

我正在使用MySQL 5.5

1 个答案:

答案 0 :(得分:2)

因此,如果您阅读有关复制二进制日志记录的mysql手册,它会告诉您这一行:

log-bin = C:\mysql\log\log-bin.log

不创建具有该名称的日志文件。它指定基本名称。实际创建的日志文件将命名为:

C:\mysql\log\log-bin.log.000001

也就是说实际日志的序列号附加在您指定的名称的末尾。要查看实际的日志名称,请使用以下命令:

SHOW MASTER STATUS
SHOW BINARY LOGS;

您的更改主声明的这一部分无效:

MASTER_LOG_FILE='log-bin.log ', MASTER_LOG_POS=0;

我读过的任何与复制相关的指令都不会导致你使用位置0.你必须使用master的二进制日志文件和位置,它对应于你初始化slave的数据的快照

有关详细信息,请参阅手册。在尝试更复杂的复制结构之前,首先从基本master-> slave复制开始。 http://dev.mysql.com/doc/refman/5.5/en/replication.html