首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL从数据库不会启动

问MySQL从数据库不会启动
EN

Database Administration用户
提问于 2014-05-30 08:49:55
回答 1查看 1.5K关注 0票数 2

我有一个MySQL主从配置,并且从服务器不再工作了。当尝试停止并重新启动从db时,我将得到以下错误:

代码语言:javascript
复制
140530 14:21:23 [Warning] Slave I/O: Notifying master by SET @master_binlog_checksum= @@global.binlog_checksum failed with error: Unknown system variable 'binlog_checksum', Error_code: 1193
140530 14:21:23 [ERROR] Error reading packet from server: Client requested master to start replication from impossible position; the first event 'mysqliv-bin.000142' at 184658851, the last event read from './mysqliv-bin.000142' at 4, the last byte read from './mysqliv-bin.000142' at 4. ( server_errno=1236)
140530 14:21:23 [ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position; the first event 'mysqliv-bin.000142' at 184658851, the last event read from './mysqliv-bin.000142' at 4, the last byte read from './mysqliv-bin.000142' at 4.', Error_code: 1236

知道这里有什么问题吗?

EN

回答 1

Database Administration用户

发布于 2014-05-30 19:04:44

未知系统变量“binlog_checksum”

这是因为您的主程序正在运行MySQL 5.5 (或更早版本),而从服务器运行的是MySQL 5.6。binlog_checksum全局变量是在5.6中引入的,从服务器正在试图确定是否在主服务器上启用了该特性。但是你的主人不存在这个变量。这不应导致任何数据丢失,一旦升级主程序,警告就会消失。

客户端请求主程序从不可能的位置开始复制。

听起来您的主程序崩溃了,然后它才能在binlog文件的末尾编写最后的“旋转到下一个binlog”事件。所以奴隶不知道前进到下一个二进制日志。

您可以手动更改从下一个binlog读取的从服务器:

代码语言:javascript
复制
mysql> STOP SLAVE;
mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysqliv-bin.000143', MASTER_LOG_POS=4;
mysql> START SLAVE;

但是首先,用SHOW BINARY LOGS反复检查mysqliv-bin.000143是否存在于主服务器上。

下面的博客将更详细地解释:http://www.skysql.com/blogs/adam-donnison/client-requested-master-start-replication-impossible-position

票数 3
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/66226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档