html怎么设置log区,关于html:load语句在binlog中的记录方式

对于mysql load语句在binlog中的记录形式:

整顿自 实战45讲+本人的一些了解

一:binlog_format=statement

这个 load 语句记录到 binlog 里当前,怎么在备库重放呢?

因为 /server_tmp/t.csv 文件只保留在主库所在的主机上,如果只是把这条语句原文写到 binlog 中,在备库执行的时候,备库的本地机器上没有这个文件,就会导致主备同步进行。

所以,这条语句执行的残缺流程,其实是上面这样的。

主库执行实现后,将 /server_tmp/t.csv 文件的内容间接写到 binlog 文件中。

往 binlog 文件中写入语句 load data local infile ‘/tmp/SQL_LOAD_MB-1-0’ INTO TABLE db2.t。

把这个 binlog 日志传到备库。

备库的 apply 线程在执行这个事务日志时:

a. 先将 binlog 中 t.csv 文件的内容读出来,写入到本地长期游戏目录 /tmp/SQL_LOAD_MB-1-0 中;

b. 再执行 load data 语句,往备库的 db2.t 表中插入跟主库雷同的数据。

执行流程如图 2 所示:

图 2 load data 的同步流程

留神,这里备库执行的 load data 语句外面,多了一个“local”。它的意思是“将执行这条命令的客户端所在机器的本地文件 /tmp/SQL_LOAD_MB-1-0 的内容,加载到指标表 db2.t 中”。

也就是说,load data 命令有两种用法:

不加“local”,是读取服务端的文件,这个文件必须在 secure_file_priv 指定的目录或子目录下;

加上“local”,读取的是客户端的文件,只有 mysql 客户端有拜访这个文件的权限即可。这时候,MySQL 客户端会先把本地文件传给服务端,而后执行上述的 load data 流程。

二:binlog_format=row

不记录文件内容,间接记录的每行数据的扭转,如果binlog_row_image=full,那么格式化binlog后能够看到记录每行数据的所有字段!

相似如下:

INSERT INTO liuwenhe.items_1

SET

@1=10009 /INT meta=0 nullable=0 is_null=0/

三:针对binlog格局为statement的格局binlog增量复原:

执行如下load语句后:

root@localhost : (none) 13:11:59>load data infile ‘/var/lib/mysql-files/1.txt’ into table liuwenhe.items_3;

如果想要借助binlog来实现复原数据www.cungun.com如果binlog_format=statement的格局,load操作通过测试也是能够复原数据的,mysqlbinlog -vv格式化后能够看到如下信息:

LOAD DATA LOCAL INFILE ‘/tmp/SQL_LOAD_MB-3-0’ INTO TABLE liuwenhe.items_3 FIELDS TERMINATED BY ‘\t’ ENCLOSED BY ” ESCAPED BY ‘\’

LINES TERMINATED BY ‘\n’ (itemid)

那么有个问题,如果你是想借助binlog来实现增量复原,那么他能找到/tmp/SQL_LOAD_MB-3-0这个文件吗?

原来当你执行mysqlbinlog mysql-bin.000154文件的时候,主动就读取记录在binlog文件中的文件内容,并且写进/tmp/SQL_LOAD_MB-3-0文件,也就是说当你执行mysqlbinlog格式化文件的时候,主动在对应的目录下生成SQL_LOAD_MB-3-0文件!而后才能够复原!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值