我创建了一个数据库、一个表并插入了一些数据,并在我的日志文件夹中找到了这个binlog.0000001,但是当我执行mysqlbinlog binlog.0000001时,它只显示下面的内容,看起来不完整:(日志dir:binlog.000001 binlog.index中只有两个文件)
/*!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还原它,但是数据库没有恢复。
[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 = 100MP.S /var/log/mysql{.err,.log}均为空
发布于 2012-09-25 03:24:33
binlog-do-db=mydb@ErikA是对的,名称不同,我指定了mydb,但没有看到任何前缀
您使用的是哪种二进制日志格式:基于语句的还是基于行的?
mydb的语句才被写入二进制日志。mydb的表的更改,默认数据库没有任何效果。有关更多细节,请查看这。
P.S
/var/log/mysql{.err,.log}都是空的
在log-error部分下指定一个mysqld选项,然后重新启动MySQL,然后再试一次。
https://serverfault.com/questions/431597
复制相似问题