企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 一、概述 binlog(二进制日志),记录对数据发生或潜在发生更改的SQL语句,并以二进制形式保存在磁盘; 主要作用:备份和复制(主从服务器); ## 二、常用命令 ### **查询当前 MySQL 是否支持 binlog** ``` mysql> show variables like 'log_bin'; ``` ![](https://img.kancloud.cn/57/d3/57d3d61e57bdf651a8040939a7b3235f_1045x128.png) ### **配置** ``` [mysqld] log-bin=mysql-bin #开启binlog binlog-expire-logs-seconds= 259200 # 只保留3天的日志文件 binlog-format=ROW ``` >[danger] mysql8.0.11以后的版本开始,默认开启; ### **查看所有Binlog的日志列表** ``` mysql> show master logs; ``` ![](https://img.kancloud.cn/8e/c9/8ec970fa66cb592e2ccf188a22f2b27e_1050x167.png) ### **查看binlog日志状态** ``` mysql> show master status; ``` ![](https://img.kancloud.cn/95/46/9546966301408687de9f8cc367460491_1045x150.png) ### **查看指定的Binlog日志** ``` mysql>show binlog events in 'binlog.000001'; ``` ### **查看Binlog日志保存时长** ``` mysql> show variables like 'expire_logs_days'; ``` ![](https://img.kancloud.cn/6b/70/6b70c02e976572ac109eb754d0121fb5_1047x144.png) ### **设置Binlog日志保存时长** ``` [mysqld] expire_logs_days = 7 # 只保留 7 天的日志文件 ``` ### **删除指定日期以前的日志索引中binlog日志文件** ``` mysql> purge master logs before '2021-07-01 12:00:00'; ``` > 1、主从结构的,不能随意删除,因为主从数据同步依赖binlog,如果是单机,可以删除,单机已测试过; > 2、在磁盘满了的情况下执行是不会成功的、这个时候要先从磁盘中删除一部分无用的二进制日志、然后再清理; ### **清空所有 binlog 文件** ``` mysql> reset master; ``` > 1、主从结构的,不能随意删除,因为主从数据同步依赖binlog,如果是单机,可以删除,单机已测试过; > 2、在磁盘满了的情况下执行是不会成功的、这个时候要先从磁盘中删除一部分无用的二进制日志、然后再清理; > 3、如果实在没有空间了,可以停止MySQL服务(尝试),然后把binlog移走,同时更新mysql-bin.index文件,将移走的binlog名字从这里删除,然后重启服务;