首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取mysqlbinlog错误的位置。我有错误的行号

获取mysqlbinlog错误的位置。我有错误的行号
EN

Database Administration用户
提问于 2019-05-31 21:26:32
回答 1查看 744关注 0票数 1

如果我使用mysqlbinlog将一个binlog加载到我的数据库中,如下所示:

代码语言:javascript
复制
mysqlbinlog --defaults-file=/path/mysqld.cnf bin.000011| mysql -u root

得到这样一个错误:

代码语言:javascript
复制
ERROR 2006 at line 290: MySQL server has gone away

如何将第290行转换为可以用于重新运行日志的binlog位置(从失败的行开始)?

代码语言:javascript
复制
 mysqlbinlog --defaults-file=/path/mysqld.cnf --start-position= bin.000011| mysql -u root

我正在使用binlog格式=ROW

或者,如何记录错误的binlog位置,而不仅仅是行号?

在用mysqlbinlog更新数据库时,必须有一种从错误中恢复的方法,否则整个数据库就会损坏。

EN

回答 1

Database Administration用户

发布于 2019-06-04 09:54:02

您可以遵循以下步骤/解决方法:

  1. 将转换后的二进制日志保存在单独的文件中。

mysqlbinlog --base64-output=DECODE-ROWS -v hostname_binlog.00XXX > Binary_log.sql

  1. 直接在Binary_log.sql服务器上使用mysqlbinlog文件,或者使用D8命令(如果有足够的空间)

mysqlbinlog --base64-output=DECODE-ROWS -v hostname_binlog.00XXX | mysql -v -u root

在这里,使用-v (详细),日志将打印在终端上&您可以获得每条语句的详细信息。

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

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

复制
相关文章

相似问题

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