MySQL 5.5 '二进制日志未打开',错误代码:1236

Posted

技术标签:

【中文标题】MySQL 5.5 \'二进制日志未打开\',错误代码:1236【英文标题】:MySQL 5.5 'Binary log is not open', Error_code: 1236MySQL 5.5 '二进制日志未打开',错误代码:1236 【发布时间】:2013-02-18 21:15:44 【问题描述】:

我正在尝试配置主-主复制,但出现错误。我在下面发送我的配置

服务器 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 更改为 MASTER_HOST='Kooler-PC', MASTER_USER='replicacao', MASTER_PASSWORD='replicacao', MASTER_LOG_FILE='log-bin.log ', MASTER_LOG_POS=0;

我已经为其他服务器更改了服务器 ID、主机并在路径中创建了文件。

我收到此错误:

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

【问题讨论】:

master上是否开启了binlog?楼主的配置也能发一下吗? 是的,除了host和server-id之外的配置和上面一样 【参考方案1】:

因此,如果您阅读 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。您必须使用主服务器的二进制日志文件和与您初始化从服务器的数据快照相对应的位置.

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

【讨论】:

以上是关于MySQL 5.5 '二进制日志未打开',错误代码:1236的主要内容,如果未能解决你的问题,请参考以下文章

mysql主从复制--mysql-5.5异步半同步配置

学习笔记之MySQL 日志文件管理

centos MySQL 5.5 源代码 cmake 安装

18MySQL日志管理(上)

mysql日志配置

如何实现mysql 数据库的二进制日志回滚