MySql DDL日志_mysql日志管理

一、错误日志

1.作用:排查mysql运行时的故障

2.自定义错误文件日志位置

在配置文件中,加入 log_error =文件目录,在重启数据库

3.查看错误文件位置

select@@log_error;

二、二进制日志

1.作用:主从依赖二进制文件

数据恢复靠二进制文件、

2.开启二进制文集

在配置文件中加入

log_bin=文件目录位置

server_id=6

3.查看二进制命令

查看二进制文件是否开启:show variables like 'log_bin';

查看二进制文件列表;show binary logs;

查看当前二进制文件是哪个:show master status;

刷新二进制文件:flush logs;

查看某个二进制文件的事件:show binlog evrnts in '日志文件名'

三、二进制文件记录什么

1.记录了数据库所有变更类的操作,DML,DCL,DDL

对于DDL.DCL:以语句的方式原模原样的记录

对于DML;

(1)记录已提交的事务

(2)DML的格式有statement,row,mixed通过binlog_format参数控制:

statement(SBR);语句模式记录日志,做什么命令,就记录什么

row(RBR):行模式,数据行的变化

mixed(MBR):混合模式,以上俩种模式混合使用

例题:SBR和RBR什么区别怎么选择?

SBR:可读性较强,对于范围操作日志量少,可能会出现记录不准确的情况

RBR:可读性弱,对于范围操作日志量大,不会出现错误

高可用环境的新特性要依赖于RBR

四、二进制文件记录单元

1.事件二进制日志的最小单元

2.mysqlbinlog命令的一些参数

(1)-d  指定某个数据库到二进制日志信息

mysqlbinlog -d ccc(数据库名) mysql-bin.000001

(2)-D 再用二进制文件恢复数据时,也会产生二进制文件,禁用二进制日志

mysqlbinlog-D mysql-bin.000001

3.截取日志文件

mysqlbinlog --start-position=事件开始位置 --stop-position=事件结束位置  日志文件目录位置 >/tmp/bin.sql;

注意:在恢复数据时,先set sql_log_bin=0临时关闭日志文件,防止恢复时产生日志信息,恢复结束后 set sql_log_bin=1

五、binlog的gtid记录模式管理

1.gtid介绍

对于binlog来说,每个事务都会产生一个gtid号,ddl,dcl一个event就是一个事务,就会有gtid,对于dml

从begin到commit就是一个事务,就会有gtid

2.gtid开启与配置

vim /etc/my.cnf

gtid-mode=on

enforce-gtid-consistency=true

3.gtid的幂等性

如果拿有gtid的日志去恢复数据时,会检查系统是否有相同的gtid号,如果有则跳过,会影响主从复制和binlog恢复

4.参数说明

--skip-gtids

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值