0

我有一些来自本地主机的二进制日志文件,但是当我写

     mysqlbinlog mysql-bin.000001 > statament.sql

或者它只是返回乱码的文本文件,即

    /*!40019 SET @@session.max_insert_delayed_threads=0*/;
    /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
    DELIMITER /*!*/;
    # at 4
    #120919 11:08:54 server id 1  end_log_pos 106   Start: binlog v 4, server v 5.1.33-        community-log created 120919 11:08:54 at startup
    ROLLBACK/*!*/;
    BINLOG '
    potZUA8BAAAAZgAAAGoAAAAAAAQANS4xLjMzLWNvbW11bml0eS1sb2cAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAACmi1lQEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
    '/*!*/;
    # at 106
    #120919 11:26:07 server id 1  end_log_pos 125   Stop
    DELIMITER ;
    # End of log file
    ROLLBACK /* added by mysqlbinlog */;
    /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

所以这主要是困扰......我没有设置奴隶......知道我做错了什么吗?

谢谢 !

4

2 回答 2

1

MySQL二进制日志定义为以二进制形式记录数据操作,以节省处理时间和空间。因此,当您检查它们时,您应该向客户端添加--base64-output=decode-rows选项以mysqlbinlog解码输出。

于 2015-07-31T16:43:24.900 回答
0

你可以使用这个:

mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000001 > statament.sql

代替 --no-defaults --base64-output=decode-row -v

于 2019-04-03T11:16:13.893 回答