首页 > 数据库 >2.mysql binlog的三种格式及区别

2.mysql binlog的三种格式及区别

时间:2023-04-25 17:55:53浏览次数:36  
标签:语句 binlog 主库 statement mysql 格式 row

好文:

https://www.cnblogs.com/syw20170419/p/16443105.html

 

1、三种格式:row、statement、mixed

2、区别:row格式文件比较大,statement比较小,row格式保存的是一行一行的数据,statement保存的是sql语句,mixed格式介于二者之间,statement容易丢数据,row格式则不会

3、statement容易丢数据原因是,有时候,SQL语句里面会用到一些函数,比如说取当前日期的函数sysdate,你要是用statement,binlog里同步过去的就是这个带有函数的SQL语句,而主库的当前日期,和binlog同步到slave上的当前日期,肯定是有差异的,这样两条数据就不一致了,所以这样同步的数据,就会有问题

4、row是直接把表插入到备份库中,statement是导出主库语句后,导入到备份库中,存在时间差。

 

如何选择binlog日志格式?
在同一个IDC机房中, 建议使用MIXED或ROW格式, 当使用ROW格式时, 建议设置binlog_row_image=MINIMAL

 

标签:语句,binlog,主库,statement,mysql,格式,row
From: https://www.cnblogs.com/healthinfo/p/17353402.html

相关文章

  • MySQL 备忘清单_开发速查表分享
    MySQL备忘清单MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、......
  • windows mysql binlog 日志内容查看
    打开mysqlbinlog.exe所在目录的命令行,执行mysqlbinlog.exe--base64-output=decode-rows-v"D:\mysql-8.0.27-winx64\data\binlog.000111">mysqlbin.logD:\mysql-8.0.27-winx64\data\binlog.000111 本机binlog文件路径名mysqlbin.log 导出到当前下的文件名 ......
  • 【Mysql】复合主键的索引
    复合主键在where中使用查询的时候到底走不走索引呢?例如下表:createtableindex_test(aintnotnull,bintnotnull,cintnotnull,dintnull,primarykey(a,b,c));当执行以下SQL的时候到底走不走索引呢?SELECT*FROMindex_testWHERE......
  • Python中的时间格式的读取与转换(time模块)
    一、时间的表示格式在Python中,表示时间的格式有4种较为常用,分别是浮点数格式、标准可读格式、格式化格式以及自定义格式。(名字是自己起的,非官方命名)(1)浮点数格式用一个float格式的浮点数表示时间,其具体含义表示为从世界标准纪元时间(1970年1月1日)起算至该时间节点的秒数。(2)标准......
  • mysql命令
     DB哥MySQL高级教程-系统学习MySQL共149课时关注微信公众号免费学:DB哥文末有MySQL高级课程目录1.基础命令默认端口号:3306查看服务器版本:selectversion();或者cmd命令mysql-verison登录数据库:mysql-uroot-p退出数据库:exit/quit查看当前系统下的数据库:showdataba......
  • MySQL数据库
     DB哥MySQL高级教程-系统学习MySQL共149课时加我微信公众号免费学:DB哥文末有MySQL高级课程目录一、MySQL数据库数据库,又称为数据管理系统,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的资料运行新增、查询、更新、删除等操作。关系型数据库,存储的格式可以直......
  • elf文件格式与动态链接库(非常之好)-----不可不看
                elf文件格式与动态链接库(非常之好)-----不可不看机器执行的是机器指令,而机器指令就是一堆二进制的数字。高级语言编写的程序之所以可以在不同的机器上移植就因为有为不同机器设计的编译器的存在。高级语言的编译器就是把高级语言写的程序转换成某个......
  • mysql 创建一个表,并创建存储过程,插入测试数据
    CREATETABLE`test_table`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(45)DEFAULTNULL,`age`int(11)DEFAULTNULL,`address`varchar(45)DEFAULTNULL,`score`int(3)DEFAULTNULL,`class`varchar(20)DEFAULTNULL,PRIMARYKEY(`i......
  • mysql记录耗时的sql
    author:skatetime:2012/02/17mysql记录耗时的sqlmysql可以把耗时的sql或未使用索引的sql都记录在slowlog里,供优化分析使用。1.mysql慢查询日志启用:mysql慢查询日志对于跟踪有问题的查询非常有用,可以分析出当前程序里有很耗费资源的sql语句,那如何打开mysql的慢查询日志记录呢?mysql......
  • 这可能是最全面的MySQL面试八股文了
    什么是MySQLMySQL是一个关系型数据库,它采用表的形式来存储数据。你可以理解成是Excel表格,既然是表的形式存储数据,就有表结构(行和列)。行代表每一行数据,列代表该行中的每个值。列上的值是有数据类型的,比如:整数、字符串、日期等等。数据库的三大范式第一范式1NF确保数据库表字段......