当前位置:   article > 正文

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

mysql 8.0.36 开启二进制日志

什么是二进制日志(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天以后就删除了

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/846899
推荐阅读
相关标签
  

闽ICP备14008679号