首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL绑定日志似乎不完整?

MySQL绑定日志似乎不完整?
EN

Server Fault用户
提问于 2012-09-25 01:18:49
回答 1查看 2.3K关注 0票数 0

我创建了一个数据库、一个表并插入了一些数据,并在我的日志文件夹中找到了这个binlog.0000001,但是当我执行mysqlbinlog binlog.0000001时,它只显示下面的内容,看起来不完整:(日志dir:binlog.000001 binlog.index中只有两个文件)

代码语言:javascript
复制
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#120924 21:12:56 server id 1  end_log_pos 107   Start: binlog v 4, server v 5.5.24-0ubuntu0.12.04.1-log created 120924 21:12:56 at startup
# Warning: this binlog is either in use or was not closed properly.
ROLLBACK/*!*/;
BINLOG '
GAVhUA8BAAAAZwAAAGsAAAABAAQANS41LjI0LTB1YnVudHUwLjEyLjA0LjEtbG9nAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAYBWFQEzgNAAgAEgAEBAQEEgAAVAAEGggAAAAICAgCAA==
'/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

如果这个警告是原因:Warning: this binlog is either in use or was not closed properly.

如何强制close日志?

编辑

flush logs命令之后,我看到了"0行“的影响,以及一些新文件binlog.000001 binlog.000002 binlog.000003 binlog.000004 binlog.index,内容与binlog.000001几乎相同。

现在,我删除了数据库,并尝试用mysqlbinlog binlog.0* | mysql -u root -p还原它,但是数据库没有恢复。

编辑2

代码语言:javascript
复制
[mysqld]
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
basedir     = /usr
datadir     = /var/lib/mysql
tmpdir      = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking

log-bin=/var/log/mysql/binlog
binlog-do-db=mydb

bind-address        = 127.0.0.1
key_buffer      = 16M
max_allowed_packet  = 16M
thread_stack        = 192K
thread_cache_size       = 8
myisam-recover         = BACKUP
query_cache_limit   = 1M
query_cache_size        = 16M
expire_logs_days    = 10
max_binlog_size         = 100M

P.S /var/log/mysql{.err,.log}均为空

EN

回答 1

Server Fault用户

回答已采纳

发布于 2012-09-25 03:24:33

代码语言:javascript
复制
binlog-do-db=mydb

@ErikA是对的,名称不同,我指定了mydb,但没有看到任何前缀

您使用的是哪种二进制日志格式:基于语句的还是基于行的?

  • 基于语句的日志记录:只有默认数据库为mydb的语句才被写入二进制日志。
  • 基于行的日志记录:只记录对属于mydb的表的更改,默认数据库没有任何效果。

有关更多细节,请查看

P.S /var/log/mysql{.err,.log}都是空的

log-error部分下指定一个mysqld选项,然后重新启动MySQL,然后再试一次。

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

https://serverfault.com/questions/431597

复制
相关文章

相似问题

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