mysql8日志文件密码_mysql8 参考手册--mysqlbinlog-处理二进制日志文件的实用程序

服务器的二进制日志由包含“ 事件 ”的文件组成,这些 事件描述了对数据库内容的修改。服务器以二进制格式写入这些文件。要以文本格式显示其内容,请使用 mysqlbinlog实用程序。您还可以使用 mysqlbinlog显示复制设置中从属服务器写入的中继日志文件的内容,因为中继日志的格式与二进制日志相同。

像这样 调用mysqlbinlog:

shell>mysqlbinlog [options] log_file ...

例如,要显示名为的二进制日志文件的内容binlog.000003,请使用以下命令:

shell>mysqlbinlog binlog.0000003

输出包括中包含的事件 binlog.000003。对于基于语句的日志记录,事件信息包括SQL语句,在其上执行该语句的服务器的ID,该语句在执行时的时间戳,所花费的时间等等。对于基于行的日志记录,该事件指示行更改,而不是SQL语句。有关日志记录模式的信息,请参见第17.2.1节“复制格式”。

事件之前有提供其他信息的标题注释。例如:

#at 141

#100309 9:28:36 server id 123 end_log_pos 245

Query thread_id=3350 exec_time=11 error_code=0

在第一行中,后面的数字at 表示二进制日志文件中事件的文件偏移量或起始位置。

第二行以日期和时间开头,该日期和时间指示该语句在事件起源的服务器上何时启动。为了进行复制,此时间戳会传播到从属服务器。 server id是server_id事件起源的服务器的 值。end_log_pos 指示下一个事件的开始位置(即,当前事件的结束位置+ 1)。thread_id 指示哪个线程执行了事件。 exec_time是在主服务器上执行事件所花费的时间。在从站上,它是从站上的结束执行时间减去主站上的开始执行时间的差。差异可作为复制落后于母版多少的指标。 error_code指示执行事件的结果。零表示没有错误发生。

注意

使用事件组时,可以将事件的文件偏移量分组在一起,并且可以将事件的注释分组在一起。不要将这些分组的事件误认为空白文件偏移量。

可以重新执行mysqlbinlog 的输出(例如,将其用作mysql的输入 ),以重做日志中的语句。这对于服务器崩溃后的恢复操作很有用。有关其他用法示例,请参见本节后面的讨论以及第7.5节“使用二进制日志进行时间点(增量)恢复”。为了执行mysqlbinlog所使用的内部使用BINLOG语句,用户需要使用 或 特权,或者该 特权加上适当的特权来执行每个日志事件。 BINLOG_ADMINSUPERREPLICATION_APPLIER

您可以使用mysqlbinlog直接读取二进制日志文件,并将其应用于本地MySQL服务器。您还可以使用该--read-from-remote-server 选项从远程服务器读取二进制日志 。要读取远程二进制日志,可以指定连接参数选项以指示如何连接到服务器。这些选项包括--host, --password, --port, --protocol, --socket,和 --user。

当二进制日志文件被加密后(可以从MySQL 8.0.14开始进行加密),mysqlbinlog无法直接读取它们,但是可以使用该--read-from-remote-server 选项从服务器读取它们 。当服务器的binlog_encryption系统变量设置为时,二进制日志文件将被加密 ON。该 SHOW BINARY LOGS语句显示特定的二进制日志文件是加密的还是未加密的。加密和未加密的二进制日志文件也可以使用加密日志文件(0xFD62696E)的文件头开头的魔术数字来区分,这与未加密日志文件(0xFE62696E)的数字不同。请注意,从MySQL 8.0.14开始, mysqlbinlog如果尝试直接读取加密的二进制日志文件,则返回适当的错误,但是较早版本的mysqlbinlog根本无法将该文件识别为二进制日志文件。有关二进制日志加密的更多信息,请参见 第17.3.2节“加密二进制日志文件和中继日志文件”。

针对大型二进制日志 运行mysqlbinlog时,请注意文件系统有足够的空间容纳生成的文件。要配置 mysqlbinlog用于临时文件的目录,请使用 TMPDIR环境变量。

mysqlbinlogpseudo_slave_mode在执行任何SQL语句之前将的值设置 为true。此系统变量影响XA事务, original_commit_timestamp复制延迟时间戳和 original_server_version系统变量以及不支持的SQL模式的处理。

mysqlbinlog支持以下选项,可以在命令行或 选项文件的 [mysqlbinlog]和[client]组中指定。

--help, -?

显示帮助消息并退出。

--base64-output=value

此选项确定何时使用BINLOG语句将事件显示为以base-64字符串编码 。该选项具有以下允许值(不区分大小写):

AUTO(“自动”)或 UNSPEC(“未指定”)BINLOG在必要时(即,用于格式描述事件和行事件)自动显示 语句。如果没有 --base64-output 给出选项,则效果与相同 --base64-output=AUTO。

注意

BINLOG 如果打算使用mysqlbinlog的输出来重新执行二进制日志文件的内容,则 自动显示是唯一安全的行为。其他选项值仅用于调试或测试目的,因为它们可能会产生不包含可执行形式的所有事件的输出。

NEVER使 BINLOG语句不显示。如果发现必须使用来显示的行事件,则mysqlbinlog退出并出现错误BINLOG。

DECODE-ROWS通过还指定选项,向mysqlbinlog指定 打算对行事件进行解码并将其显示为带注释的SQL语句 --verbose。与一样NEVER, DECODE-ROWS禁止显示 BINLOG语句,但是与不同NEVER,如果找到行事件,它不会退出并显示错误。

--bind-address=ip_address

在具有多个网络接口的计算机上,使用此选项选择用于连接到MySQL服务器的接口。

--binlog-row-event-max-size=N

|属性|值|

|命令行格式| --binlog-row-event-max-size=#|

|类型| 数字|

|默认值| 4294967040|

|最低值| 256|

|最大值| 18446744073709547520|

指定基于行的二进制日志事件的最大大小,以字节为单位。如果可能,将行分组为小于此大小的事件。该值应为256的倍数。默认值为4GB。

--character-sets-dir=dir_name

字符集的安装目录。

--compress

尽可能压缩客户端和服务器之间发送的所有信息。

MySQL 8.0.17中添加了此选项。从MySQL 8.0.18开始,不推荐使用。它将在将来的MySQL版本中删除。请参阅 旧版连接压缩配置。

--compression-algorithms=value

用于连接到服务器的允许的压缩算法。可用算法与protocol_compression_algorithms 系统变量相同 。默认值为 uncompressed。

MySQL 8.0.18中添加了此选项。

--connection-server-id=server_id

--connection-server-id 指

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值