温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用MySQL二进制日志

发布时间:2020-05-14 14:32:04 来源:亿速云 阅读:313 作者:三月 栏目:MySQL数据库

下文主要给大家带来如何使用MySQL二进制日志,希望这些内容能够带给大家实际用处,这也是我编辑如何使用MySQL二进制日志这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。

下载Navicat for MySQL最新版本

Navicat for MySQL 是一套管理和开发 MySQL 或 MariaDB 的理想解决方案。使用Navicat for MySQL可以同时连接到 MySQL 和 MariaDB。Navicat for MySQL提供了强大的前端功能,为数据库管理、开发和维护提供了直观的图形界面。对新手和专业人士来说,Navicat for MySQL都是管理和开发 MySQL 或 MariaDB的强大工具。

记录是关于记录数据库中发生的事情。就像有些人可能会保留个人日志来记下他们日常生活中发生的事情一样,数据库日志会跟踪登录和交易等事情。更重要的是,有效日志应包括有关访问控制和输入验证失败的条目。默认情况下启用的唯一MySQL日志是错误日志(至少在Windows上)。

上篇文章讲了MySQL上不同日志类型的概述,突出了其中最重要的一些——即错误日志、常规查询日志、二进制日志和慢速日志,并详细说明了前两个。这篇文章将更详细地介绍二进制日志。下篇文章将讲第三部分的慢速日志。

如何使用MySQL二进制日志

二进制日志记录的语句

二进制日志存储描述数据库更改的事件,例如,表创建操作或通过INSERT和UPDATE等语句更改表数据。除了使用基于行的日志记录之外,还可以为后代保存可能已进行更改的语句(例如不匹配任何行的DELETE)的事件(有关此内容的更多信息,请参见下文)。因此,二进制日志不包括不修改数据的SELECT或SHOW等语句。这些可以在常规查询日志中找到。

二进制日志有两个重要目的:

  1. 对于复制,主复制云服务器上的二进制日志提供要发送到从属云服务器的数据更改的记录。实际上,主云服务器将其二进制日志中包含的事件发送到其从属云服务器,以便它们执行相同的命令,以实现与主云服务器上相同的数据更改。

  2. 某些数据恢复操作使用二进制日志。还原备份后,将重新执行与备份相关的二进制日志中的事件,以便将数据库同步到备份发生的位置。

尽管有这些非常重要的用途,但默认情况下禁用二进制日志记录,因为它会稍微降低性能。但是,二进制日志在设置复制和从备份还原时提供的好处通常会超过这种轻微的性能损失。

二进制日志格式

MySQL为二进制日志记录提供了三种日志记录格式,每种格式都有自己的优缺点。与其他日志不同,您无法使用简单的ON / OFF开关启用它。相反,您必须通过使用“--binlog-format = type”启动MySQL云服务器来显式选择二进制日志记录格式。每种类型的确切陈述如下所述:

  1. 基于语句

    基于语句的日志记录记录所有对表的数据或结构进行更改的SQL语句。使用--binlog-format = STATEMENT启用。
    某些非确定性语句可能不适合复制。如果MySQL确定是这种情况,它将发出警告“语句可能不安全登录语句格式”。

  2. 基于行

    在基于行的日志记录中,主云服务器将事件写入二进制日志,以指示各个表行的影响方式。因此,表必须始终包含主键以确保可以有效地识别行。您可以通过使用--binlog-format = ROW启动它来告诉云服务器使用基于行的日志记录。

  3. 混合日志

    第三种选择是混合日志记录。使用此日志记录格式,默认情况下使用基于语句的日志记录,但在某些情况下,日志记录模式会自动切换到基于行。要使用混合日志记录,请使用选项--binlog-format = MIXED启动MySQL。

    如何使用MySQL二进制日志

    图1  -  Navicat Server Monitor工具中的binlog_format云服务器变量

对于以上关于如何使用MySQL二进制日志,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的行业资讯,相信你会喜欢上这些内容的。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI