MySQL8.0.36-社区版:二进制日志(4)

什么是二进制日志(binlog):记录了所有的ddl和dml语句,但是不包括查询类的

二进制日志的作用:1.灾难恢复,2.mysql主从复制

查看二进制日志状态 

 show variables like '%log_bin%';

 在mysql8中默认是开启的

| log_bin                         | ON                          |

# 代表着二进制是开启的状态 

| log_bin_basename                | /var/lib/mysql/binlog       |

# 二进制日志存放的路径,把二进制日志存放在什么位置,当存放满了或者格式改变了,他就会增加文件存放

| log_bin_index                   | /var/lib/mysql/binlog.index | 

# 记录着索引文件,把文件的索引就记录在这里面了

 


二进制日志日志格式

mysql服务器中提供了多种格式来记录二进制格式:

statement——基于SQL语句的日志记录,记录的是sql语句,对数据进行修改的SQL都会记录在日志文件中

row——基于行的日志记录,记录的是每一行的数据变更。(默认) 

mixed——混合了statement和row两种格式,默认采用statement,在某些特殊情况下会自动切换为row进行记录。

show variables like '%binlog_format%';

 


 变换2进制日志文件格式

在/etc/my.cnf中添加

binlog_format=STATEMENT

这样就可以了

然后去重启mysql服务

 修改成功,当我们修改了文件的格式,那么二进制binlog文件会增加

可以使用 mysqlbinlog命令去查看内容 


日志清理

每天都会产生很多的二进制数据,如果不即时清理,会占用大量的空间

reset maser——删除全部binlog日志,删除之后日志编号将从binlog.000001重新开始

purge master logs to ‘binlog.******’———删除指定编号之前的所有日志 

purge master logs before  ‘yyyy-mm-dd hh24:mi:ss’——删除日志为指定之前产生的所有日志

 此外我们还可以在设置mysql自动删除二进制

 show variables like '%binlog_expire%';

查看一下

2592000秒=30天

也就是说30天以后就删除了

如果想修改的话可以去配置文件里修改

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值